优点:灵活性高,可直接编写SQL语句
易于使用,通过XML配置文件和注解
映射简单,自动映射数据库表字段到Java对象属性
良好的扩展性,提供丰富的插件接口
begin:
要创建一些包的作用:
在此加入包:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
在:
创建一个接口包:
和一个java类:
在resource创建文件:
创建一个文件夹,下面创建一个文件:
Demo执行文件:
package com.ybg.mybts.mapper;
import om.ybg.mybts.entily.WinExp;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import javax.annotation.Resource;
import java.io.Reader;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
public class MyDemo {
public static void main(String[] args) throws Exception {
//加载配置文件mybatis.cfg.xml
Reader read = Resources.getResourceAsReader("mybatis.cfg.xml");
//利用读取的文件生成工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(read);
//产生一次会话
SqlSession session=factory.openSession();
//利用会话获取数据库操作接口
WinExpMapper wem = session.getMapper(WinExpMapper.class);
// WinExp we = WinExp.builder().name("jack").cost(10).build();
Map pa=new HashMap<>(); //使用hashmap表
pa.put("name","jack");
pa.put("cost",10);
System.out.println(wem.findExpByNameAndCost(pa));
// WinExp we = WinExp.builder().name("zs").orderdate(new Date(1999,10,12)).cost(10000).build();
// System.out.println(wen.findAll());
// wem.updateWinExpByName(we);
// wem.insertWinExp(we);
// wem.deleteWinExpByName("zs");
session.commit();
// try{ wem.insertWinExp(we);
// session.commit();//事务提交
// }
// catch (Exception e){
// session.rollback();//回滚
}
}