IDEA创建Maven项目配置Mybatis-generator插件快速生成mapper(Dao)和model(pojo)并完成与mysq的交互(二)

在上一篇中(https://blog.csdn.net/qq_38261445/article/details/91050170)我们实现了用Mybatis-generator插件快速生成mapper文件与model实体类,mapper.xml中基本上实现了对一个实体类中所有的操作,但是在我自己开发的时候依然不知道怎么使用mapper里面的方法,或者说怎么通过某些接口来实现对数据库的操作,因为这里面某些文件也相当于是模板了,对以后也会有帮助,所以就写一些吧。
1、首先mapper里面有两种文件一种相当于是一个实体类中方法的接口,二XX.xml则是具体实现的方法。但是我们在idea要想用里面的方法进行数据库操作,需要把xml文件提出来,放到资源文件resources下面,并且目录结构必须保持一致,否则mybatis在编译的时候就会找不到对应的实现文件;如图
在这里插入图片描述

2、创建一个conf.xml文件,用来船舰连接池的求别与原始的jdbc

<?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 resource="db.properties"></properties>

	<!-- 全局参数在这里设置如: <settings> <setting name="cacheEnabled" value="false"/> 
		</settings> 关闭缓存,默认为开启 -->


	<typeAliases>
		<!-- 定义单个别名 -->
		<!-- alias不区分大小写
			<typeAlias type="com.example.model.Person" alias="Person"/> -->
				<!-- 批量定义别名:自动将包中类的别名定义为类名 -->
				<package name="com.example.model"/>
	</typeAliases>
	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
				<property name="driver" value="${driver}" />
				<property name="url" value="${url}" />
				<property name="username" value="${username}" />
				<property name="password" value="${password}" />
			</dataSource>
		</environment>
	</environments>
	<!-- 加载映射文件 -->
	<mappers>
		<!--引入单个 
		<mapper resource="com/example/mapper/personMapper.xml" />
		 -->
			<!--引入所有 -->
			<package name="com.example.mapper"/>
	</mappers>
</configuration>

3、在utils工具类下面创建一个工具类MybatisUtils.java
在这里插入图片描述
代码

package com.example.util;

import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.InputStream;

public class MybatisUtils {
    public static SqlSessionFactory getFactory(){
        String resource="conf.xml";

        //加载mybatis 的配置文件(它也加载关联的映射文件)
        InputStream is=MybatisUtils.class.getClassLoader().getResourceAsStream(resource);

        //构建sqlSession 的工厂
        SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
        return factory;
    }
}

4、在test文件夹下面创建一个test类
在这里插入图片描述
代码

import com.example.mapper.UserMapper;
import com.example.model.User;
import com.example.util.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.junit.Test;

import java.util.List;

public class test {

    @Test
    public void test1(){
        SqlSessionFactory factory = MybatisUtils.getFactory();
        SqlSession session = factory.openSession();
        UserMapper mapper = session.getMapper(UserMapper.class);
        List<User> users = mapper.selectByExample(null);
        System.out.println(users);
    }
}

其中的selectByExample就是mapper接口文件里面的一个方法,你可以用这个方法实现很多中不同的查询,在这里面是null,即查询所有的数据
在这里插入图片描述
PS:如果上面的操作有什么不正确的地方或者有什么地方没有理清楚,欢迎留言指正,一起交流,谢谢

发布了93 篇原创文章 · 获赞 26 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_38261445/article/details/91345972