1. 首页
  2. 软件开发
  3. Mybatis快速入门

Mybatis快速入门

  • 发布于 2024-08-19
  • 0 次阅读

快速入门

创建Dao接口

public interface IUserDao {
   
    List<User> selectAll();
}

编写SqlMapConfig.xml配置文件

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <typeAliases>
        <package name="com.elvis.pojo"/>
    </typeAliases>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
		        <property name="url" value="jdbc:mysql://192.168.137.144:3306/self_mybatis?useSSL=false&amp;characterEncoding=UTF-8"></property>
       			<property name="username" value="root"></property>
       	 		<property name="password" value="123456"></property>
            </dataSource>
        </environment>
    </environments>
    <!-- 指定mapper映射文件 -->
    <mappers>
        <mapper resource="IUserDao.xml"></mapper>
    </mappers>
</configuration>

编写mapper映射文件IUserDao.xml

<?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">
<mapper namespace="com.elvis.dao.IUserDao">
    <select id="selectAll" resultType="User">
        select * from user_t
    </select>
</mapper>

编写test方法

    @Test
    public void testSelectAll() throws IOException {
   
        InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        SqlSessionFactory sqlSessionFactory = builder.build(resourceAsStream);
        SqlSession session = sqlSessionFactory.openSession();
        List<User> list = session.selectList("com.elvis.dao.IUserDao.selectAll");
        System.out.println(list);
    }

测试

基于代理模式开发

修改SqlMapConfig配置文件

  • 修改mapper文件位置规则,根据包名查找
    <mappers>
        <!--<mapper resource="IUserDao.xml"></mapper>-->
        <package name="com.elvis.dao"/>
    </mappers>

修改mapper映射文件的位置

  • 放置到与Dao接口同名目录下

修改测试类

@Test
    public void testSelectAll() throws IOException {
   
        InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        SqlSessionFactory sqlSessionFactory = builder.build(resourceAsStream);
        SqlSession session = sqlSessionFactory.openSession();
        // 基于代理模式,使用getMapper获取代理的接口实现
        IUserDao mapper = session.getMapper(IUserDao.class);
        List<User> list = mapper.selectAll();
        // List<User> list = session.selectList("com.elvis.dao.IUserDao.selectAll");
        System.out.println(list);
    }

测试

原文链接: https://blog.csdn.net/Kiven_ch/article/details/117838291