zoukankan      html  css  js  c++  java
  • 创建一个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)

  • 相关阅读:
    LeetCode偶尔一题 —— 617. 合并二叉树
    《剑指offer》 —— 链表中倒数第k个节点
    《剑指offer》 —— 青蛙跳台阶问题
    《剑指offer》—— 二维数组中的查找
    《剑指offer》—— 替换空格
    《剑指offer》—— 合并两个排序的链表
    《剑指offer》—— 礼物的最大价值
    生成Nuget 源代码包来重用你的Asp.net MVC代码
    Pro ASP.Net Core MVC 6th 第四章
    Pro ASP.NET Core MVC 6th 第三章
  • 原文地址:https://www.cnblogs.com/maol986162214/p/15703251.html
Copyright © 2011-2022 走看看