测试添加用户功能
1.在test的java中添加测试类
2.在测试类中编写代码如下,
package com.jh.mybatis.test; import com.mybatis.mapper.UserMapper; 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.Test; import java.io.IOException; import java.io.InputStream; public class MyBatisTest01 { @Test public void testInsert() throws IOException { //获取核心配置文件的输入流 InputStream resourceAsStream = Resources.getResourceAsStream("mybatis_config.xml"); //获取执行sql语句的对象:SqlSessionFactoryBuilder对象 SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); //获取核心文件所对应的输入流来来创建对象(获取工厂的对象) SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(resourceAsStream); //MyBatis提供操作数据库的对象(获取会话的对象) SqlSession sqlSession = sqlSessionFactory.openSession(); //获取UserMapper的代理实现对象(实现了sql的接口的实现对象) //接口无法创建对象(代理模式:创建了一个接口的代理实现类) UserMapper mapper = sqlSession.getMapper(UserMapper.class); //调用mapper接口中的方法,实现添加用户信息的功能 int result = mapper.insertUser(); System.out.println("结果为:" + result); //默认是回滚的,需要提交事务 sqlSession.commit(); //关闭会话(资源) sqlSession.close(); } }
3.测试结果如下:
优化功能
测试代码如下
package com.jh.mybatis.test; 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.Test; import java.io.IOException; import java.io.InputStream; public class MyBatisTest01 { @Test public void testInsert() throws IOException { //获取核心配置文件的输入流 InputStream resourceAsStream = Resources.getResourceAsStream("mybatis_config.xml"); //获取执行sql语句的对象:SqlSessionFactoryBuilder对象 SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); //获取核心文件所对应的输入流来来创建对象(获取工厂的对象) SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(resourceAsStream); //MyBatis提供操作数据库的对象(获取会话的对象),添加true则会自动的提交事务 SqlSession sqlSession = sqlSessionFactory.openSession(true); //优化 //提供sql以及的唯一标识找到sql并执行,唯一标识是namespace.sqlId int result = sqlSession.insert("com.mybatis.mapper.UserMapper.insertUser"); //关闭会话(资源) sqlSession.close(); } }
在pro.xml中添加日志的jar包依赖如下所示:
在resources目录下创建log4j.xml文件
编写内容如下:
<?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>
注意:红色部分不必在意它
结果如下: