版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzl19870309/article/details/89876309
为方便进行debug,我们可以写一个简单的测试类,通过断点来跟踪mybatis的执行过程。
1、创建测试包com.mybatis.mine
2、创建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>
<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://www.xxx.com:3306/luxydb"/>
<property name="username" value="luxy"/>
<property name="password" value="****"/>
</dataSource>
</environment>
</environments>
</configuration>
3、创建测试使用的POJO
package com.mybatis.mine;
import java.io.Serializable;
import java.util.Date;
public class User implements Serializable{
private String userCode;
private String userName;
private Date createTime;
private String userType;
private String mobile;
public String getUserCode() {
return userCode;
}
public void setUserCode(String userCode) {
this.userCode = userCode;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getUserType() {
return userType;
}
public void setUserType(String userType) {
this.userType = userType;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
@Override
public String toString() {
return "User{" +
"userCode='" + userCode + '\'' +
", userName='" + userName + '\'' +
", createTime=" + createTime +
", userType='" + userType + '\'' +
", mobile='" + mobile + '\'' +
'}';
}
}
3、创建UserMapper.java
package com.mybatis.mine;
public interface UserMapper {
public User selectUser(String id);
}
4、创建userMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mybatis.mine.UserMapper">
<select id="selectUser" parameterType="String" resultType="com.mybatis.mine.User">
select * from u_user where usercode = #{id}
</select>
</mapper>
5、在配置文件mybatis-config.xml中对mapper进行配置
<?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>
<environments default="development">
…………
</environments>
<!--配置mapper-->
<mappers>
<mapper resource="com/mybatis/mine/userMapper.xml"/>
</mappers>
</configuration>
6、编写测试类
package com.mybatis.mine;
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.jupiter.api.Test;
import java.io.IOException;
import java.io.InputStream;
public class MineTest1 {
@Test
public void test01() throws IOException {
String resource = "com/mybatis/mine/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
//1、创建SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//2、获取sqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
//3、获取mapper
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
//4、执行数据库操作,并处理结果集
User user = userMapper.selectUser("10");
System.out.println(user);
}
}
7、运行测试类进行测试,如果测试成功,即可在测试代码中打断点进行debug了
附:u_user表的建表语句
CREATE TABLE `u_user` (
`usercode` varchar(60) NOT NULL DEFAULT '',
`password` varchar(128) DEFAULT NULL,
`usertype` varchar(2) DEFAULT NULL COMMENT '00:老师;01:学生 02:家长',
`mobile` varchar(11) DEFAULT NULL,
`username` varchar(64) DEFAULT NULL,
`createtime` datetime DEFAULT NULL,
PRIMARY KEY (`usercode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;