首页 > 其他分享 >Mybatis获取与实践

Mybatis获取与实践

时间:2023-07-16 11:55:07浏览次数:37  
标签:name 实践 mybatis 获取 Mybatis import com public String

Mybatis

如何获得Mybatis

新建项目

1. 新建一个普通的maven项目

2.删除src目录

3.导入maven依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <!--父工程-->
    <groupId>com.chenteng</groupId>
    <artifactId>Mybatis-Study</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>mybatis-01</module>
    </modules>
    <!--导入依赖-->
    <dependencies>
        <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.33</version>
        </dependency>
        <!--mybatis-->
        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.5</version>
        </dependency>
        <!--junit-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>
    <properties>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    </properties>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>


</project>

创建一个模块

  • 编写mybatis的核心文件

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <!--configuration核心配置文件-->
    <configuration>
        <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
                    <property name="username" value="root"/>
                    <property name="password" value="123456"/>
                </dataSource>
            </environment>
        </environments>
        <mappers>
            <mapper resource="com/chenteng/dao/UserMapper.xml"/>
        </mappers>
    </configuration>
    

  • 编写mybatis工具类

    package com.chenteng.utils;
    
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    import java.io.InputStream;
    
    //SqlSessionFactory
    public class MybatisUtils {
    
        private static SqlSessionFactory sqlSessionFactory;
    
        static{
            try {
                String resource = "mybatis-config.xml";
                InputStream inputStream = Resources.getResourceAsStream(resource);
                sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        public static SqlSession getSqlSession(){
            return sqlSessionFactory.openSession();
        }
    

    }

编写代码

  • 实现类

    package com.chenteng.pojo;
    
    //实体类
    public class User {
        private int id;
        private String name;
        private String pwd;
    
        public User() {
        }
    
        public User(int id, String name, String pwd) {
            this.id = id;
            this.name = name;
            this.pwd = pwd;
        }
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getPwd() {
            return pwd;
        }
    
        public void setPwd(String pwd) {
            this.pwd = pwd;
        }
    
        @Override
        public String toString() {
            return "User{" +
                    "id=" + id +
                    ", name='" + name + '\'' +
                    ", pwd='" + pwd + '\'' +
                    '}';
        }
    }
    
    

  • Dao接口

    package com.chenteng.dao;
    
    import com.chenteng.pojo.User;
    
    import java.util.List;
    
    public interface UserDao {
        List<User> getUserList();
    }
    
    

  • 接口实现类

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
            PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <!--namespace绑定一个对应的Dao/Mapper接口-->
    <mapper namespace="com.chenteng.dao.UserDao">
        <select id="getUserList" resultType="com.chenteng.pojo.User">
            select * from mybatis.user;
        </select>
    </mapper>
    

测试

注意点:

pom.xml配置resource,来防止我们资源导出失败的问题

 <!--    在build中配置resources , 来防止我们资源导出失败的问题-->
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
<!--    在build中配置resources , 来防止我们资源导出失败的问题-->
  • junit测试
package com.chenteng.dao;

import com.chenteng.pojo.User;
import com.chenteng.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.List;

public class UserDaoTest {
    @Test
    public void test(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserDao userDao = sqlSession.getMapper(UserDao.class);
        List<User> userList = userDao.getUserList();

        for (User user : userList) {
            System.out.println(user);
        }

        sqlSession.close();
    }
}

标签:name,实践,mybatis,获取,Mybatis,import,com,public,String
From: https://www.cnblogs.com/lurenj/p/17557648.html

相关文章

  • MyBatis Bug 记录
    动态SQLIf参数Mybatisif判断Integer类型的值不等于''引发的问题(!=''等价于!=0)csdn-ref结论对于Number类型参数,age!=''被Mybatis认定为age!=0解决方案✅使用1,2来表示数据含义✅添加orage==0,来规避该问题✅修改字段类型为varchar不使用N......
  • MyBatis Generator代码生成器
    地址:http://mybatis.org/generator/quickstart.html 依赖<!--mybatis代码生成--><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId>......
  • MybatisPlus
    目录configMybatisPlusConfig.javapackagecom.bijian.mybatisplus.config;importcom.baomidou.mybatisplus.annotation.DbType;importcom.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;importcom.baomidou.mybatisplus.extension.plugins.inner......
  • 借助LOOKUP函数,获取本季度的第1天日期!
    1职场实例小伙伴们大家好,今天我们来学习一下如何在Excel中快速统计当前日期所属的本季度的第1天的日期。人们俗称的“季度”,就是把一年平均分成四份,也可以按照春、夏、秋、冬的分成四份。一年可以分为四个季度,每个季度历时3个月。第一季度:1月~3月第二季度:4月~6月第三季度:7月~9月第......
  • Ubuntu学习:获取ip地址
    参考:https://www.howtouseubuntu.com/network/ubuntu-command-terminal-find-ip-address-in-ubuntu/当使用命令行在Ubuntu系统上获取IP地址时,以下是几个示例:使用ip命令获取IP地址:$ipaddrshow示例输出:1:lo:<LOOPBACK,UP,LOWER_UP>mtu65536qdiscnoqueuestateUNKN......
  • jquery获取当前get值
    jQuery获取当前get值在Web开发中,我们经常需要从URL中获取参数值。URL参数通常是通过查询字符串的形式传递的,即在URL末尾添加?符号,然后以key=value的形式添加参数,如果有多个参数,可以使用&符号分隔。在使用jQuery进行前端开发时,我们可以使用几种方法来获取当前URL的参数值。在本文......
  • jquery获取table数据
    jQuery获取表格数据在网页开发中,我们经常会遇到需要获取表格数据的情况。使用jQuery库可以轻松地实现这一功能。本文将介绍如何使用jQuery来获取表格数据,并提供一些代码示例帮助您理解。什么是jQuery?jQuery是一个快速、简洁的JavaScript库,提供了简化HTML文档遍历、事件处理、动......
  • Abp Framework手动实践
    上一章节有很大一部分是使用默认的CRID进行操作的,本章节将手动进行各层的编写,本次以Student为模块进行开发。领域层实体在***.Domain项目中创建Student文件夹,并在文件夹中创建Student的实体类,该实体类继承FullAuditedAggregateRoot<Guid>类,主键为Guid类型。Student共有三个属......
  • sql获取连续登录不少于7天的用户
    测试数据:  解题思路:1.用窗口函数根据userId分组,将每个分组内的数据根据排序顺序编号selectuserid,loginDate,ROW_NUMBER()OVER(PARTITIONBYuserIdORDERBYloginDate)ASseq fromtest;  2.用每条记录的loginDate减去seq,得到一个时间,......
  • [转载] GPT-4对游戏文本检查的最佳实践
    转自公众号网易雷火测试中心GPT-4是OpenAI利用自然语言处理技术研发的大型语言模型,能够协助人类进行写作辅助、文章撰写、智能聊天机器人、编程辅助、新闻生成、游戏设计等工作。它能理解并回应各种语言风格和主题,提供创新的解决方案,帮助各行各业解决问题。本文......