前言
本文使用的是mysql数据库。
配置
1.添加maven依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
2.核心配置文件(mybatis-config.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="database.properties"></properties>
<!--设置-->
<settings>
<!--映射级别,NONE取消自动映射,PARTIAL自动映射(默认,但嵌套映射除外),FULL包括嵌套映射,也是自动映射-->
<setting name="autoMappingBehavior" value="PARTIAL"/>
<!--设置日志-->
<setting name="logImpl" value="LOG4J"/>
</settings>
<!--别名-->
<typeAliases>
<!--单个类声明别名-->
<!--<typeAlias type="com.smbms.pojo.User" alias="User" />-->
<!--扫描包,自动为包中每个类声明别名,别名为类名,不区分大小写-->
<package name="com.smbms.pojo"/>
</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>
<!--SQL映射文件-->
<mappers>
<!--这里是sql映射文件的位置,修改为自己的位置即可-->
<mapper resource="sqlMap/UserMapper.xml"/>
</mappers>
</configuration>
这里的设置和别名都不是必须的。可以根据自己需求配置。这里采取的是引入外部配置文件,然后取值的。但是由多种方式配置,不一定按照我这里。
3.我的数据库配置文件(database.properties)
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/smbms?useUnicode=true&characterEncoding=UTF-8
username=root #这里换成自己的账号密码。
password=123456
至于url的端口(我数据库是默认端口:3306),数据库名字(我数据库名字是:smbms)也根据自己的实际情况修改。
使用
//1.读取mybatis核心配置文件
InputStream ip = Resource.getResourceAsStream("mybatis-config.xml");
//2.获取到sql会话工厂解析器
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
//3.通过解析器解析核心配置文件,获取到sql会话工厂
sqlSessionFactory = sqlSessionFactoryBuilder.build(ip);
//4.通过sql会话工厂获取的sql会话(即数据库连接)
SqlSession sqlSession = sqlSessionFactory.openSession();
//5.获取mapper接口(修改成自己的接口类)
UserMapper usermapper = sqlSession.getMapper(UserMapper.class);
//6.调用mapper接口中自己定义的方法(对应着sql语句)
int count = usermapper.count();
List<User> userList = userMapper.findAll();
// 这一步还可以这样实现,但是还是上面这种的方式常用。
//Object count = sqlSession.selectOne("com.smbms.mapper.UserMapper.count");
//List<User> userList = sqlSession.selectList("com.smbms.mapper.UserMapper.findAll");
//7.最后关闭sqlSession,这里是把连接放回连接池。
sqlSession.close();
这里的前4步是固定的。所以我们使用的时候可以加以封装,方便使用。
总结
本文主要是为了让读者能够快速的配置和使用mybatis,这只是使用mybatis的基本配置,若有其它需求的可以自己参考mybatis的文档。希望能对大家有一点帮助。
我是所以,祝你幸福!