mybatis入門案例
阿新 • • 發佈:2020-10-10
1、準備工作
-
建立資料庫表(資料庫表自己準備)
-
建立專案匯入mybatis和資料庫驅動jar包
-
本例使用的maven專案,資料庫是8.0及以上(資料庫驅動包根據版本調整)
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency> -
2、建立與資料庫表對應的實體類
-
屬性名要和資料庫表一樣
package com.yl.bean;
import java.io.Serializable;
import java.sql.Date;
/**
* 使用者實體類
*/
public class User implements Serializable {
private Integer id;//id
private String username;//使用者名稱
private Date birthday;//生日
private String sex;//性別
private String address;//地址
public User() {
}
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;
}
3、建立持久層介面
package com.yl.dao;
import com.yl.bean.User;
import java.util.List;
/**
* 使用者持久層介面
*/
public interface IUserDao {
/**
* 查詢所有使用者
*/
public List<User> queryAllUser();
}
4、建立mybatis全域性配置檔案(SqlMapperConfig.xml)
-
配置檔案放在資源目錄下,如果不是maven工程就放在根目錄下
<?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>
<!--配置mybatis環境-->
<environments default="mysql">
<!--配置mysql環境-->
<environment id="mysql">
<!--事務型別-->
<transactionManager type="JDBC"></transactionManager>
<!--資料來源(連線池),根據資料庫版本調整-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8&serverTimezone=GMT%2B8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--指定對映配置檔案位置-->
<mappers>
<mapper resource="com/yl/dao/IUserDao.xml"></mapper>
</mappers>
</configuration>
5、建立持久層對映檔案(IUserDao.xml)
-
配置檔案放在資源目錄下,如果不是maven工程就放在根目錄下(檔案存放目錄結構要和IUserDao介面目錄結構一樣)
<?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.yl.dao.IUserDao">
<!--查詢所有,id是方法名,resultType是對應的實體類全限定類名-->
<select id="queryAllUser" resultType="com.yl.bean.User">
select * from user
</select>
</mapper>
6、測試
public class MybatisTest {
public static void main(String[] args) throws IOException {
//讀取配置檔案
InputStream inputStream = Resources.getResourceAsStream("SqlMapperConfig.xml");
//建立工廠
SqlSessionFactoryBuilder factoryBuilder = new SqlSessionFactoryBuilder();
SqlSessionFactory sessionFactory= factoryBuilder.build(inputStream);
//建立SqlSession物件
SqlSession sqlSession=sessionFactory.openSession();
//建立IUserDao介面代理物件
IUserDao iUserDao=sqlSession.getMapper(IUserDao.class);
//查詢所有使用者
List<User> userList=iUserDao.queryAllUser();
//遍歷輸出
userList.forEach(System.out::println);
}
}