一、MyBatis简介
MyBatis:是一个基于Java的轻量级持久层框架
优点:
-
支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架
-
避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集
-
可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO映射成数据库中的记录
MyBatis下载地址:https://github.com/mybatis/mybatis-3
二、搭建MyBatis
① 创建maven工程,引入依赖
<dependencies>
<!-- Mybatis核心 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<!-- junit测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!-- MySQL驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.29</version>
</dependency>
</dependencies>
友情提示:引入之后别忘了刷新一下maven哟 ~
② 创建MyBatis的核心配置文件(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 resource="jdbc.properties"/>
<!--设置连接数据库的环境-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!--引入映射文件-->
<mappers>
<package name="com.itheima.mapper"/>
</mappers>
</configuration>
友情提示:jdbc.properties文件中不要出现空格哟 ~
jdbc.username=root jdbc.password=abc123 jdbc.url=jdbc:mysql://localhost:3306/mybatis?useSSL=false jdbc.driver=com.mysql.cj.jdbc.Driver
密码填自己的密码哦 ~
③ 创建mapper接口
public interface UserMapper {
//添加用户信息
int insertUser();
}
④ 创建MyBatis的映射文件
<?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.itheima.mapper.UserMapper">
<!--id属性的值需要与mapper接口中的方法名一致-->
<insert id="insertUser">
insert into t_user values(null,'张三','123',23,'女',"zs123@qq.com")
</insert>
</mapper>
友情提示:映射文件需要与mapper接口位于同名目录下哟 ~
⑤ 通过junit测试是否添加成功
@Test
public void testUser() throws Exception {
//读取MyBatis的核心配置文件
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
//创建SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
//通过核心配置文件所对应的字节输入流创建工厂类SqlSessionFactory,生产SqlSession对象
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
//创建SqlSession对象,参数为true时通过SqlSession对象所操作的sql都会自动提交
SqlSession sqlSession = sqlSessionFactory.openSession(true);
//通过代理模式创建UserMapper接口的代理实现类对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
// 调用UserMapper接口中的方法,就可以根据UserMapper的全类名匹配元素文件,
// 通过调用的方法名匹配 映射文件中的SQL标签,并执行标签中的SQL语句
int result = userMapper.insertUser();
}
友情提示:查看更详细错误信息可以引入日志文件依赖哟 ~(参照下文)
三、日志功能
友情提示:建议复制粘贴哟 ~
a>加入依赖
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
b>加入log4j的配置文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<param name="Encoding" value="UTF-8"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m (%F:%L) \n"/>
</layout>
</appender>
<logger name="java.sql">
<level value="debug"/>
</logger>
<logger name="org.apache.ibatis">
<level value="info"/>
</logger>
<root>
<level value="debug"/>
<appender-ref ref="STDOUT"/>
</root>
</log4j:configuration>
友情提示:链接 http://jakarta.apache.org/log4j/ 爆红不会影响日志效果哟 ~
以上就是本文的全部内容啦 !!! 有任何问题,欢迎下方留言哟 ~