环境搭建
maven工程依赖
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
</dependencies>
先建立一个数据库 里面的字段和User的属性名称要一致
编写User实体类
/**
*
* <p>Title: User</p>
* <p>Description: 用户的实体类</p>
* <p>Company: http://www.itheima.com/ </p>
*/
public class User implements Serializable {
private Integer id; private String username;
private Date birthday; private String sex; private String address;
public Integer getId() { return id;
}
public void setId(Integer id) { this.id = id;
}
public String getUsername() { return username;
}
public void setUsername(String username) {
this.username = username; }
public Date getBirthday() { return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday; }
public String getSex() { return sex;
}
public void setSex(String sex) {
this.sex = sex; }
public String getAddress() { return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", birthday=" + birthday
+ ", sex=" + sex + ", address="
+ address + "]";
}
}
编写持久层接口IUserDao
写配置文件
SqlMapConfig.xml是主配置文件 里面包括了链接数据库的各项信息和其他配置文件的映射,其他配置文件则是专门针对某个DAO接口的
映射配置文件的内容包括具体的配置和sql语句
注意 例如< select >标签中的id属性必须是DAO接口中对应的方法名
调用测试类
//1.读取配置文件
InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
//2.创建 SqlSessionFactory 的构建者对象
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
//3.使用构建者创建工厂对象
SqlSessionFactory SqlSessionFactory factory = builder.build(in);
//4.使用 SqlSessionFactory 生产 SqlSession 对象
SqlSession session = factory.openSession();
//5.使用 SqlSession 创建 dao 接口的代理对象
IUserDao userDao = session.getMapper(IUserDao.class);
//6.使用代理对象执行查询所有方法
List<User> users = userDao.findAll();
for(User user : users) {
System.out.println(user);
}
//7.释放资源
session.close();
in.close();