1. 程式人生 > 實用技巧 >mybatis入門案例

mybatis入門案例

mybatis入門案例

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;
}

@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", birthday=" + birthday +
", sex='" + sex + '\'' +
", 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&amp;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);
}
}