搭建mybatis
github源码(day52-mybatis):https://github.com/1196557363/ideaMavenProject.git
1. 导依赖
<!-- junit依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!-- mybatis依赖 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<!-- MySQL数据库依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
2. 配置文件 mybaits.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="dev_mysql">
<environment id="dev_mysql">
<!--事务管理器-->
<transactionManager type="JDBC"></transactionManager>
<!--mybatis提供的连接池-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis1" />
<property name="username" value="root" />
<property name="password" value="123456" />
</dataSource>
</environment>
</environments>
<!-- 映射接口 -->
<mappers>
<mapper resource="wpj/mapper/IUserDao.xml" />
</mappers>
</configuration>
3. 定义bean
public class User {
private String name;
private int age;
public User() {
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
4. 写接口
package wpj.dao;
import wpj.bean.*;
import java.util.*;
public interface IUserDao {
List<User> selectAllUser();
}
5. 写对应接口的xml文件 IUserDao.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">
<!-- 命名空间与dao的全路径一致 -->
<mapper namespace="wpj.dao.IUserDao">
<!-- id与接口中方法名一致 -->
<select id="selectAllUser" resultType="wpj.bean.User">
select * from user
</select>
</mapper>
6. Test
public class MyBatisTest {
@Test
public void testAllUser() throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//2 获取sqlSession实例,能直接执行已经映射的sql语句
SqlSession openSession = sqlSessionFactory.openSession();
try {
//sql唯一标识,sql要用的参数
List<User> userList = openSession.selectList("wpj.dao.IUserDao.selectAllUser");
for(User user : userList) {
System.out.println(user);
}
} finally {
openSession.close();
}
}
}