1、环境约束
win10 64位操作系统
idea2018.1.5
jdk-8u162-windows-x64
mybatis3.2.8
2、软件下载
百度网盘:
链接:https://pan.baidu.com/s/1gfnI8NqUYgYK1g0ULGIV2w
提取码:q9pl
3、前提约束
(1)数据库账号为root,密码为zhangli【请读者设置自己的密码】
(2)存在test数据库实例
(3)存在t_user表,表中有记录,sql语句如下:
create database test;
use test;
create table t_user(id int, name varchar(20));
insert into t_user(id,name) values(1,'ali');
insert into t_user(id,name) values(2,'zhangli');
4、创建和配置项目
(2)加入mybatis的jar包依赖
修改pom.xml,加入mybatis及mysql驱动等依赖,加入build的resources标签。
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.32</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.9</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
(3)加入mybatis的相关配置
在src文件夹下加入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/test" />
<property name="username" value="root" />
<property name="password" value="zhangli" />
</dataSource>
</environment>
</environments>
<mappers>
<package name="net.wanho.mapper"></package>
</mappers>
</configuration>
(4)创建一个数据库表的映射类
在src文件夹创建net.wanho.entity.User.java类,具体代码如下:
package net.wanho.entity;
import java.io.Serializable;
/**
* User实体类,与数据库中的t_user做对应关系
*/
public class User implements Serializable {
private int id;
private Stringname;
public User() {
}
public User(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
@Overridepublic String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + '}';}
}
}
(5)创建接口,加入查询用户的方法queryUsers()声明
在src文件夹创建net.wanho.mapper.UserMapper.java接口,具体代码如下:
package net.wanho.mapper;
import net.wanho.entity.User;
import java.util.List;
public interface UserMapper {
List<User> queryUsers();
}
(6)创建查询配置文件,完成queryUsers的查询
在UserMapper.java同等目录下加入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">
<mapper namespace="net.wanho.mapper.UserMapper">
<select id="queryUsers" resultType="net.wanho.entity.User">
select* from t_user
</select>
</mapper>
5、测试
(1)创建测试类
在src文件夹下,创建一个Test.java,代码如下:
package net.wanho;
import net.wanho.entity.User;
import net.wanho.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 java.io.IOException;
import java.io.Reader;
import java.util.List;
public class Test {
public static void main(String[] args)throws IOException {
String resource ="mybatis-config.xml";
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(reader);
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
List list = userMapper.queryUsers();
System.out.println(list);
}
}