创建一个Mybatis工程

一、创建maven项目,导入相关jar包(配置pom.xml文件)

 1 <project xmlns="http://maven.apache.org/POM/4.0.0" 
 2         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 3         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 4   <modelVersion>4.0.0</modelVersion>
 5   <groupId>com.maolei</groupId>
 6   <artifactId>mybatis-study</artifactId>
 7   <version>0.0.1-SNAPSHOT</version>
 8   <packaging>pom</packaging>
 9   <modules>
10       <module>mybatis-study-01</module>
11   </modules>
12   
13   <dependencies>
14         <dependency>
15             <groupId>mysql</groupId>
16             <artifactId>mysql-connector-java</artifactId>
17             <version>5.1.47</version>
18         </dependency>
19         <dependency>
20             <groupId>org.mybatis</groupId>
21             <artifactId>mybatis</artifactId>
22             <version>3.5.2</version>
23         </dependency>
24         <dependency>
25             <groupId>junit</groupId>
26             <artifactId>junit</artifactId>
27             <version>4.10</version>
28         </dependency>
29         <dependency>
30             <groupId>org.projectlombok</groupId>
31             <artifactId>lombok</artifactId>
32             <version>1.18.12</version>
33         </dependency>
34     </dependencies>
35 </project>

二、创建实体类和查询sql的接口

User.java

 1 package com.maolei.pojo;
 2 
 3 import lombok.Data;
 4 
 5 //使用lombok
 6 @Data
 7 public class User {
 8     private int id;
 9     private String name;
10     private String pwd;
11 
12 }

UserMapper.java

 1 package com.maolei.mapper;
 2 
 3 import java.util.List;
 4 
 5 import com.maolei.pojo.User;
 6 
 7 public interface UserMapper {
 8     public List<User> getUser();
 9 
10 }

三、编写配置文件

1、数据库配置文件(db.properties)

1 driver=com.mysql.jdbc.Driver
2 url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT
3 username=root
4 password=123456

2、Mybatis配置文件(mybatis-config.xml)

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 3         "http://mybatis.org/dtd/mybatis-3-config.dtd">
 4 <configuration>
 5     <properties resource="db.properties"/>
 6     <settings>
 7         <setting name="logImpl" value="STDOUT_LOGGING"/>
 8         <!-- <setting name="mapUnderscoreToCamelCase" value="true"/> -->
 9         <!-- <setting name="logImpl" value="LOG4J"/> -->
10     </settings>
11     <typeAliases>
12         <!-- <typeAlias alias="User" type="com.maolei.pojo.User"/> -->
13         <package name="com.maolei.pojo"/>
14     </typeAliases>
15     <!--
16     注释快捷键 :ctrl+shift+/
17     environments与environment值保持一致
18     -->
19     <environments default="mysql">
20         <!--environment代表的是环境-->
21         <environment id="mysql">
22             <!--
23                 transactionManager:代表数据库的事务
24                 Type统一是JDBC
25             -->
26             <transactionManager type="JDBC"></transactionManager>
27             <!--
28                 dataSource:代表数据源
29                 type:POOLED
30              -->
31             <dataSource type="POOLED">
32                 <!-- 配置数据库驱动 -->
33                 <property name="driver" value="${driver}"/>
34                 <!-- 配置url -->
35                 <property name="url" value="${url}"/>
36                 <!-- 配置用户名 -->
37                 <property name="username" value="${username}"/>
38                 <!-- 配置密码 -->
39                 <property name="password" value="${password}"/>
40             </dataSource>
41         </environment>
42     </environments>
43     <mappers>
44         <!-- 
45         <mapper resource="com/maolei/mapper/UserMapper.xml"/>
46          -->
47         <mapper class="com.maolei.mapper.UserMapper"/>
48     </mappers>
49 
50 </configuration>

3、接口映射文件(UserMapper.xml)

1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
3         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
4 <mapper namespace="com.maolei.mapper.UserMapper">
5     <select id="getUser" resultType="user">
6         select * from user;
7     </select>
8 </mapper>

这个UserMapper.xml文件要创建在resources下面的com.maolei.mapper包下面,这个包路径要与UserMapper.java的包路径相同!

如果UserMapper.xml与UserMapper.java放在同一包中,那就需要在pom.xml中添加静态资源过滤器

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

四、编写测试类

MyTest.java

 1 import java.io.IOException;
 2 import java.io.InputStream;
 3 import java.util.List;
 4 
 5 import org.apache.ibatis.io.Resources;
 6 import org.apache.ibatis.session.SqlSession;
 7 import org.apache.ibatis.session.SqlSessionFactory;
 8 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
 9 import org.junit.Test;
10 
11 import com.maolei.mapper.UserMapper;
12 import com.maolei.pojo.User;
13 
14 public class MyTest {
15     @Test
16     public void getUser() throws IOException {
17         //下面sqlsession的获取可以做成一个工具类
18         String resource = "mybatis-config.xml";
19         InputStream in = Resources.getResourceAsStream(resource);
20         SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(in);
21         SqlSession sqlSession = ssf.openSession();
22         UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
23         List<User> userList = userMapper.getUser();
24         for (User user : userList) {
25             System.out.println(user);
26         }
27     }
28 
29 }

测试类执行结果:

User(id=1, name=王五, pwd=123456)
User(id=2, name=张三, pwd=123456)
User(id=3, name=李四, pwd=123456)
User(id=4, name=小明, pwd=123456)

原文地址:https://www.cnblogs.com/maol986162214/p/15703251.html