• 创建一个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)

  • 相关阅读:
    Thymeleaf
    快速创建springBoot
    多环境的配置
    第一个SpringBoot
    shiro第三天整合jdbc
    shrio 第二天
    Python 算法集合
    张凤强-《工会固定资产管理系统的设计与实现》随笔
    李翔-《营口港资产管理系统设计与实现》随笔
    刘晶-《高校固定资产管理系统的设计与实现》随笔
  • 原文地址:https://www.cnblogs.com/maol986162214/p/15703251.html
Copyright © 2020-2023  润新知