mybatis搭建过程:
1、导入jar包
log4j-1.2.17.jar
mybatis-3.5.4.jar
mysql-connector-java-5.1.7-bin.jar
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" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/ssm?serverTimezone=GMT" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<mappers>
<!-- resource处填写如何操作数据库的映射文件名 -->
<mapper resource="UserMapper.xml" />
</mappers>
</configuration>
3、创建映射文件UserMapper.xml、并映射(如何操作数据库)
<?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">
<!-- namespace处填写接口的全限定名 -->
<mapper namespace="com.lqz.mapper.UserMapper">
<!-- id处填写接口中的方法名 -->
<!-- resultType处填写对象的全限定名 -->
<select id="getUserByUid" resultType="com.lqz.bean.User">
<!-- 该处的id由接口中 方法中输入-->
select * from user where uid = #{id}
</select>
</mapper>
4、创建mapper接口,实现两个绑定
创建UserMapper接口
package com.lqz.mapper;
import com.lqz.bean.User;
public interface UserMapper {
User getUserByUid(int uid);
}
(1)接口的全限定名要与UserMapper.xml映射文件的namespace保持一致
(2)接口的方法名要与SQL语句的id保持一致
5、获取mybatis操作数据库的会话对象SqlSession
6、测试
package com.lqz.test;
import static org.junit.jupiter.api.Assertions.*;
import java.io.IOException;
import java.io.InputStream;
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 com.lqz.bean.User;
import com.lqz.mapper.UserMapper;
class TestMybatis {
@Test
public void test() throws IOException {
//加载核心配置文件
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
//获得SqlSessionFactory对象
SqlSessionFactory sqlSessionFactory =
new SqlSessionFactoryBuilder().build(is);
//获取一个SqlSession会话对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//建立与实体类的映射
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//获得User对象
User user = mapper.getUserByUid(1);
System.out.println(user);
}
}
实体类对象:
package com.lqz.bean;
public class User {
//这里的属性名要与数据中字段名保持一致,否则不能实现对应的映射
private Integer uid;
private String user_name;
private String password;
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public String getUser_name() {
return user_name;
}
public void setUser_name(String user_name) {
this.user_name = user_name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User [uid=" + uid + ", user_name=" + user_name + ", password=" + password + "]";
}
}
如果运行中Mybatis 报错 java.io.IOException: Could not find resource mybatis-config.xml
解决办法为:将放置配置文件的文件夹conf右键Build Path–User as Source Folder即可解决