創建實體類和dao層接口:
package com.cxf.domain;
import java.io.Serializable;
import java.util.Date;
/**
* @author:柴新峯
* @create:2019/10/21
*/
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 + '\'' +
'}';
}
}
package com.cxf.dao;
import com.cxf.domain.User;
import java.util.List;
/**
* @author:柴新峯
* @create:2019/10/21
* 用戶得持久層接口
*/
public interface IUserDao {
/**
* 查詢所有的接口
*/
List<User> findAll();
}
mybatis主配置文件:
<?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">
<!--配置連接數據庫的4個基本信息-->
<property name="driver" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"></property>
<property name="username" value="root"></property>
<property name="password" value="123456"></property>
</dataSource>
</environment>
</environments>
<!--指定映射文件的位置,映射配置文件指的是每個dao獨立的配置文件-->
<mappers>
<mapper resource="com/cxf/dao/IUserDao.xml"/>
</mappers>
</configuration>
創建映射配置文件IUserDao.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.cxf.dao.IUserDao">
<!--配置查詢所有-->
<select id="findAll">
select * from user ;
</select>
</mapper>
環境搭建的注意事項:
- 創建IUserDao.xml和IUserDao.java時名稱保持一致是開發風格,在mybatis中把持久層的操作接口名稱和映射文件也叫做Mapper,所以:IUserDao和IUserMapper是一樣的。
- 在IDEA中創建包和創建目錄是不一樣的。 包創建時:com.cxf.www 它是三級目錄。 目錄創建時:com.cxf.www是一級目錄。
- mybatis的映射配置文件位置必須和dao接口的包結構相同。
- 映射配置文件的mapper標籤namespace屬性的取值必須是dao接口的全限定類名。
- 映射配置文件的操作配置(select),id屬性的取值必須是dao接口的方法名。
當我們遵從了3、4、5點之後,我們在開發中就無須再寫dao的實現類。
Mybatis入門案例:
- 讀取配置文件
- 創建SqlSessionFactory工廠
- 創建SqlSession
- 創建Dao接口的代理對象
- 執行dao中的方法
- 釋放資源
注意事項:
不要忘記在映射配置中告知mybatis要封裝到哪個實體類中
配置的方式:指定實體類的全限定類名
mybatis基於註解的入門案例:
把IUserDao.xml移除,在dao接口的方法上使用@select註解,並且指定Sql語句。
同時需要在SqlMapConfig.xml中的mapper配置項,使用class屬性指定dao接口的全限定類名。