爲方便進行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;