一、Mybatis有更简单的使用方法!!!
有通用的mapper 启动器的使用;Mapper启动器是一个基于JDBC实现的一个通用反射的ORM框架;提供了一些通用的CRUD操作,而且不需要定义SQL的映射文件,直接使用注解写SQL语句;在这是给我们的通用的框架,可以很方便实现增删改查;他给我们封装了增删改查;
我们之前用的是mapper.xml 映射文件,现在不用了;那我们就可以把原来导入的mybatis启动类换成tk.mybatis启动类;用这个弱化了SQL语句;
我们原来的操作是写一个接口,mapper或者DAO里面定义方法,然后写一个mapper.xml文件里面写SQL语句,然后用它来映射那个接口;
现在我们不用写mapper.xml 映射文件来映射接口了;然后我们还是需要写接口;不过接口需要我们继承一个类BaseMapper ;这个泛型里面的是查询表的名字;
我们在启动类里需要添加注解@MapperSacan
引入时使用下面的那个包;这个注解是用于进行扫描有mapper接口的包的;
(1)添加启动器的依赖
(2)定义接口;
(3)在启动类上添加mapper接口的扫描;
注意:@MapperScan
注解引入的包是引入的哪一个,因为有同名的注解;
(4)引入我们的接口;
(5)我们没有写查询就能查;
(6)复杂的SQL语句还是需要自己写的;
(7)@Select(“”) 注解SQL语句不常用,因为SQL语句需要经常改,这种虽然简单但是不容易改
(8)根据泛型里面的属性来查哪一张表;如果 泛型里面是user那就是查的user表;
(9)添加数据库,把它放到数据库里;
添加完了之后我们还要存到ES中,因为我们要保持数据一致性;
二、总结:我们搜出数据库中表的所有数据需要的步骤有:
(1)导入Mybatis依赖,这个依赖会更加省略写SQL语句;
(2)写接口类,接口类写我们搜索的方法;
(3)写接口实现类,接口实现类需要写从容器中拿接口数据+实现搜索方法
(4)写mapper接口类,继承我们导入的依赖,这个类相当于原来的xml文件;
(5)写连接池
写Controller类,提供参数,调用接口中的搜索方法;
那我们带条件查询怎么办?比如我们想根据ID来进行查询
~tkMybatis给我们提供了根据主键查询:selectByPrimaryKey() 这是根据主键查询的方法,selectAll()是查询所有数据的方法;
return customerMaper.selectByPrimaryKey(1);
~非主键怎么办?Select()
方法可以查,但是里面的参数是个对象,所以我们需要创建一个对象给他传过去;
我们接口实现类可以这么写:
@Autowired //获取值
private CustomerMaper customerMaper;
//我们继承了CustomerMaper接口类,要从接口类中拿值;
//虽然我们在接口类中什么都没写,但是我们继承方法了,
@Override
public List<Customer> list() {//这个<Customer>泛型就规定了我们使用的实体类
Customer c = new Customer();
c.setNickname("联想");//setNickname是对实体类赋值;也就是我们依据Nickname这个字段是联想的;进行查询
return customerMaper.select(c);//select里面是对象
}
。。。。。。。。。。。。。
嘻哈的简写笔记
。。。。。。。。。。。。。