1.jpa 和mybaits的区别 谈一谈
1.jpa 和 mybaits 持久层
ssm 三层 持久层 业务层 显示层 持久层 mybatis 业务层 spring 显示层 springmvc mybatis 和 hibernate 区别
jpa 可以自动 增删改查 ---》 mybaitisplus 简单 自己生成
-
mybatis半自动 hibernate全自动
2.mybaits移植性差 3.对数据库要求比较高
mysql oracle sqlserver
类似 移植性 一个数据库移到另外一个数据库
jpa 自动生成sql语句 指定数据库 移植性好一点 按一定规则 名字规范 规范代码 生成没什么列名 比较繁琐
1、导入jar
2.新建实体类 pojo 以及一些注解的解释
@Table 当表名和 实体类不一样 的时候 就要用
@Entity 类名就是表名 列名就是字段名
//序列化 io 加快速度 2 .标识唯一 加快找到统一类 private static final long serialVersion=3416844643852851984L;
@Column name 字段名 nullable 是否为空
3.dao层
所有类都是继承 JpaRepository jpa Repository 已经帮你写好了 增删改查代码 不需要我们自己去写
/* * 1,Repository<User,Integer> 只提供规范的名字
* 2, CrudRepository<User,Integer> 增删改查帮你写好了
* 3.PagingAndSortingRepository 带分页接口 interface PagingAndSortingRepository<T, ID> extends CrudRepository<T, ID>
* 4.JpaRepository 分页 +curd +特殊方法 联表 查询 */ *
/* * 复杂的sql语句 可以自己写
查询 @Query
* 增删改 @Query +@Modifiy
* 开启原生sql nativeQuery = true * @param name * @return */ @Query(value = "select * from user where username=:name",nativeQuery = true)
以下列举修改、回显、模糊查询手动sql
3.service接口 里面所有的方法 必须写 可以按项目规范
4.serviveimpl 实现接口
5.web控制层 做数据响应 的
6.统一返回JSON数据工具类
7.yml 配置文件
8、分页功能 自带的 jpa 自带工具类 不带条件
3.PagingAndSortingRepository 带分页接口
1.service层加一个方法
2.serviceimpl 实现接口
设置页码和每页显示的数量
3.web层实现
9.带分页条件的查询 jpa提供的工具类
1.service加一个方法 加一个分页的条件
2.serviveimpl 实现类
如果有复杂的 sql条件 查询可以参照以下链接
https://blog.csdn.net/moshowgame/article/details/80309642http://www.qb5200.com/article/410884.html
3.web控制层代码
注意:以上是不带页面实现springdatajpa,以json数据格式 返回,带页面的后续跟新