1。概述
使用弹簧引导作为后端框架与Android端配合mysql进行基本的交互,包含了最基本的增删查改功能。
2。开发环境
-
<李> win10李>
<李>想法李>
<李> tomcat9.0.27李>
<李> mysql8.0.17李>
<李>春季启动李>
3。后端
(1)新建一个弹簧启动项目
可以看这里
(2)实体
新建用户类作为实体类:
<代码类="语言java ">包com.test; 进口javax.persistence.Entity; 进口javax.persistence.GeneratedValue; 进口javax.persistence.GenerationType; 进口javax.persistence.Id; @ entity 公开课用户{ @ id @GeneratedValue(策略=GenerationType.AUTO) 私人整数id; 私人字符串名称; 公共整数getId () { 返回id; } 公共空间setId(整数id) { 这一点。id=id; } 公共字符串getName () { 返回名称; } 公共空间setName(字符串名称){ this.name=名称; } }代码>
这里其实使用的是(1)中的代码,里面有详细的解释。
(3)存储库
新建UserRepository去实现增删查改:
<代码类="语言java ">包com.test; 进口org.springframework.data.jpa.repository.Modifying; 进口org.springframework.data.jpa.repository.Query; 进口org.springframework.data.repository.CrudRepository; 进口org.springframework.data.repository.query.Param; 进口org.springframework.stereotype.Repository; 进口org.springframework.web.bind.annotation.RequestParam; 进口并不知道; @ 公共接口UserRepository延伸CrudRepository<用户,Integer> { @Query(值=" https://www.yisu.com/zixun/select *从用户名=? 1”,nativeQuery=true) 公共ListfindByName(字符串名称); @Modifying @Query(值=" https://www.yisu.com/zixun/delete从用户的名字=? 1”,nativeQuery=true) 公共int deleteByName(字符串名称); }代码>
由于CrudRepository中已经包含了“增”与“改”,所以按需要实现自己的“查”与“删“即可。
CrudRepository的api很简单,官方文档在这里。
-
<李>“增“使用保存即可,参数为实体类李>
<李>“删“使用deleteById,通过主键删除,若不想通过主键删除可以自己编写sql,像上面一样李>
<李>“查“使用findAll或findById,自定义查找的话需要自己编写sql。李>
<李>“改,也可使用保存、注意需要设置主键。李>
@Query用于设置sql, nativeQuery表示使用原生sql。
(4)服务
新建一个MainService.java
<代码类="语言java ">包com.test; 进口org.springframework.beans.factory.annotation.Autowired; 进口org.springframework.stereotype.Service; 进口javax.transaction.Transactional; 进口并不知道; @ transactional @ service 公开课MainService { @ autowired 私人UserRepository UserRepository; 公共IterablegetAllUsers () { 返回userRepository.findAll (); } 公共List findByName(字符串名称) { 返回userRepository.findByName(名称); } 公共逻辑加(字符串名称) { 用户用户=新用户(); user.setName(名称); userRepository.save(用户); 返回true; } 公共逻辑修改(整数id字符串名称) { 用户用户=新用户(); user.setName(名称); user.setId (id); userRepository.save(用户); 返回true; } 公共布尔deleteByName(字符串名称) { 返回userRepository.deleteByName(名字)!=0; } }代码>
-
<李> getAllUsers()返回所有行,Iterable
<代码类="语言java ">返回userRepository.save(用户)!=零;代码>