1.创建Maven工程
创建 mybatis_day1的工程,工程信息如下:
<groupId>com.zsw</groupId>
<artifactId>mybatis_day1</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
2. 添加相关j依赖jar包的依赖
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
</dependencies>
3. 编写实体类
package com.zsw.domain;
import java.io.Serializable;
import java.util.Date;
public class User implements Serializable {
private Integer id;
private String username;
private Date birthday;
private String sex;
private String address;
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", birthday=" + birthday +
", sex='" + sex + '\'' +
", address='" + 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;
}
}
4. 编写持久层接口
package com.zsw.dao;
import com.zsw.domain.User;
import java.util.List;
public interface UserDao {
//查询所有用户
List<User> findAll();
}
5. 编写 SqlMapConfig.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">
<!--mybatis 的主配置文件-->
<configuration>
<!--配置环境-->
<environments default="mysql">
<!--配置mysql的环境-->
<environment id="mysql">
<transactionManager type="JDBC "></transactionManager>
<dataSource type="POOLED">
<!--配置连接数据库的四个基本信息-->
<property name="driver" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/mybaitest"></property>
<property name="username" value="root"></property>
<property name="password" value="123123"></property>
</dataSource>
</environment>
</environments>
<!--指定映射配置文件的位置-->
<mappers>
<mapper resource="com/zsw/dao/UserDao.xml"></mapper>
</mappers>
</configuration>
6. 编写持久层接口的映射文件 UserDao.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="com.zsw.dao.UserDao">
<!--配置查询所有-->
<select id="findAll" resultType="com.zsw.domain.User">
select * from `user`
</select>
</mapper>
7. 编写测试类
public static void main(String[] args) throws IOException {
//读取配置文件
InputStream stream = Resources.getResourceAsStream("SqlMapConfig.xml");
//创建SqlSessionFactory的构建者对象
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(stream);
//.使用 SqlSessionFactory 生产 SqlSession 对象
SqlSession sqlSession = factory.openSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
List<User> all = mapper.findAll();
for (User u:all) {
System.out.println(u.toString());
}
sqlSession.close();
stream.close();
}