Mybatis简单的模板(注解版)

第一步:导入依赖

pom.xml文件依赖
    <dependencies>
        <!--mybatis依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.3</version>
        </dependency>

        <!--jdbc依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.16</version>
        </dependency>


        <!--测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <!-- 实现slf4j接口并整合 -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.25</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.25</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.10.0</version>
        </dependency>

    </dependencies>

第二步:配置xml文件。

1). 配置JDBC连接db.properties文件

//Mysql8.x以上版本加.cj
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatisdb?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
jdbc.username=root
jdbc.password=root

2). 配置Mybatis连接SqlMapConfig.xml文件


<?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>
<!--配置properties-->
    <properties resource="db.properties"></properties>
<!--配置别名-->
   <!-- <typeAliases>
        <package name="com.per.domain"></package>
    </typeAliases>
-->
<!--主要配置,配置环境-->
    <environments default="mysql">
    <!--配置Mysql环境-->
        <environment id="mysql">
        <!--配置事务-->
            <transactionManager type="JDBC"></transactionManager>
            <!--配置连接池-->
                <dataSource type="POOLED">
                    <property name="driver" value="${jdbc.driver}"></property>
                    <property name="url" value="${jdbc.url}"></property>
                    <property name="username" value="${jdbc.username}"></property>
                    <property name="password" value="${jdbc.password}"></property>
                </dataSource>
        </environment>
    </environments>
<!--配置映射文件的位置(使用注解的配置)-->
    <mappers>
        <package name="com.per.dao"></package>
    </mappers>

</configuration>

第三步:创建项目目录。

1).创建持久(dao)层和实体类(domain)。

实体类:

package com.per.domain;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

public class User implements Serializable {
    private String id;
    private String username;
    private String address;
    private String sex;
    private Date birthday;
    
    .....省略setter,getter,tostring
    

持久层

package com.per.dao;

import com.per.domain.User;
import org.apache.ibatis.annotations.Select;

import java.util.List;

public interface UserDao {
    @Select("select * from user")//使用注解方式开发
    List<User> finAll();
}

第四步:编写测试文件

1.测试类

import com.per.dao.UserDao;
import com.per.domain.User;
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 org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.io.InputStream;
import java.util.List;


public class ClassTest {

    private InputStream in;
    private SqlSessionFactory factory;
    private SqlSession sqlSession;
    private UserDao iUserDao;

// 加上@Before,该方法在测试方法执行之前执行。
    @Before   
    public void init() throws Exception {
        in = Resources.getResourceAsStream("SqlMapConfig.xml");
        factory = new SqlSessionFactoryBuilder().build(in);
        sqlSession = factory.openSession();
        iUserDao = sqlSession.getMapper(UserDao.class);
    }
// 加上@After,该方法在测试方法执行之后执行。
    @After
    public void destory() throws Exception {
        sqlSession.commit();
        sqlSession.close();
        in.close();
    }

    @Test
    public void findAll(){

        List<User> userList = iUserDao.finAll();
        for(User user:userList)
        {
            System.out.println(user);
        }
    }
}

到此Mybatis使用注解开发的一个小小的模板就有了。

发布了18 篇原创文章 · 获赞 4 · 访问量 1071

猜你喜欢

转载自blog.csdn.net/weixin_44689277/article/details/104168456