1、了解通用mapper
通用Mapper都可以極大的方便開發人員,可以隨意的按照自己的需要選擇通用方法,還可以很方便的開發自己的通用方法,極其方便的使用MyBatis單表的增刪改查,支持單表操作,不支持通用的多表聯合查詢,
2、通用mapper使用
1、 引入依賴
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.1.5</version>
</dependency>
2、 spring集成
<bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer">
<!--掃描所有dao介面的實作,加入到ioc容器中 -->
<property name="basePackage" value="cn.jiyun.dao"></property>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
</bean>
3、物體類
通用mapper中,每個物體類,就對應一個表,通過使用一些注解(全部是JPA中的注解),可以關聯到每個欄位,具體使用demo如下:
| 注解 | 含義 | 使用 |
|---|---|---|
| @Table | 指定關聯的表,用在類上 | @Table(name=“表名”) 類名和表名默認對應規則為:駝峰轉下劃線 如果符合默認規則,此注解可以省略 |
| @Column | 指定列名,用在欄位上 | @Column(name = “欄位名稱”) 欄位名和列名默認對應規則為:駝峰轉下劃線 如果符合默認規則,此注解可以省略 |
| @Id | 標識欄位為主鍵,用在欄位上 | @Id,用在主鍵對應的欄位上即可,必填,可以有多個此注解,代表聯合主鍵 |
| @Transient | 標識此欄位不對應表中的列 | @Transient,用在物體類中自定義的額外欄位 不對應具體表中欄位,添加修改時會自動忽略 如果有自定義的額外欄位,此注解必填 |
| @GeneratedValue | 指定主鍵生成策略 | @GeneratedValue(generator = “JDBC”)資料庫自增ID,可以取出由資料庫內部生成的主鍵 @GeneratedValue(strategy = GenerationType.IDENTITY)資料庫自增ID,不能取回ID值 @GeneratedValue(generator = “UUID”),亂數ID |
@Table(name="dept")//對應資料庫表明dept2
public class Dept2{
@Id
private Integer id;
private String deptName;//對應資料庫欄位為:dept_name
private String deptcode;//默認對應資料庫欄位為:deptcode
}
4、dao層使用
繼承tk.mybatis.mapper.common.Mapper<T>,T對應泛型,就是物體類,代表要操作的表
public interface CountryMapper extend Mapper<Country2>{
//不用動也不用管,直接在service呼叫對應方法即可
}
5、 默認實作的方法
查詢
// 根據物體中的屬性值進行查詢查詢條件使用等號
public List<Hobby> findHobby(Hobby t) throws Exception {
return hobbyMapper.select(t);
}
// 查詢所有
public List<Hobby> findHobby() throws Exception {
return hobbyMapper.selectAll();
}
添加
//保存一個物體<br>null的屬性也會保存,不會使用資料庫默認值
public void addUser(User t) throws Exception {
userMapper.insert(t);
};
洗掉
// 根據主鍵欄位進行洗掉,方法引數必須包含完整的主鍵屬性
public void deleteUser(Integer id) throws Exception {
userMapper.deleteByPrimaryKey(id);
};
修改
// 根據主鍵更新屬性不為null的值
public void updateUser(User t) throws Exception {
userMapper.updateByPrimaryKeySelective(t);
};
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/248497.html
標籤:其他
上一篇:Greenplum資料庫集簇初始化——Initdb概述
下一篇:MongoDB課堂筆記
