springboot08-jpa-mysql
1.主要pom依赖:
<!--jpa-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
2.userDao:
public interface UserDao extends JpaRepository<User, Long>{
User findByUserName(String userName);
User findByUserNameAndPassword(String userName, String password);
}
这里继承JpaRepository后,会有主要的增删改查方法,还有查询所有list(), 分页查询list() 等基础方法。如果要自定义方法,可根据jpa标准来定义,比如:
//根据用户名查询单个用户: User findOneByUserName(String userName);
//根据用户名查询多个用户: List<User> findAllByUserName(String userName);
3.测试:
@RunWith(SpringRunner.class)
@SpringBootTest(classes = MainApp.class)
public class ServiceTest { @Autowired
private UserDao userDao;
@Autowired
private UserService userService; private ObjectMapper objectMapper = new ObjectMapper(); @Test
public void testAll() throws JsonProcessingException { this.saveUser();
this.list(); } private void saveUser() throws JsonProcessingException {
User admin = new User();
admin.setUserName("admin");
admin.setPassword("admin");
User adminSave = userDao.save(admin);
System.out.println("admin save--->:" + objectMapper.writeValueAsString(adminSave));
User user = new User();
user.setUserName("user");
user.setPassword("user");
User userSave = userDao.save(user);
System.out.println("user save--->:" + objectMapper.writeValueAsString(userSave));
} private void list() throws JsonProcessingException {
List<User> userList = userService.userList();
System.out.println("用户列表:" + objectMapper.writeValueAsString(userList));
} }
结果:
Hibernate: insert into user (password, user_name) values (?, ?)
admin save--->:{"id":1,"userName":"admin","password":"admin"}
Hibernate: insert into user (password, user_name) values (?, ?)
user save--->:{"id":2,"userName":"user","password":"user"} Hibernate: select user0_.id as id1_0_, user0_.password as password2_0_, user0_.user_name as user_nam3_0_ from user user0_
用户列表:[{"id":1,"userName":"admin","password":"admin"},{"id":2,"userName":"user","password":"user"}]
源码地址:https://github.com/yangzhenlong/mySpringBootDemo
springboot08-jpa-mysql的更多相关文章
- Springboot+Atomikos+Jpa+Mysql实现JTA分布式事务
1 前言 之前整理了一个spring+jotm实现的分布式事务实现,但是听说spring3.X后不再支持jotm了,jotm也有好几年没更新了,所以今天整理springboot+Atomikos+jp ...
- springboot+jpa+mysql+redis+swagger整合步骤
springboot+jpa+MySQL+swagger框架搭建好之上再整合redis: 在电脑上先安装redis: 一.在pom.xml中引入redis 二.在application.yml里配置r ...
- springboot+jpa+mysql+swagger整合
Springboot+jpa+MySQL+swagger整合 创建一个springboot web项目 <dependencies> <dependency> < ...
- SpringBoot入门系列:第五篇 JPA mysql(转)
一,准备工作,建立spring-boot-sample-mysql工程1.http://start.spring.io/ A.Artifact中输入spring-boot-sample-mysql B ...
- SpringBoot 使用JPA+MySQL+Thymeleaf 总结 二
SpringBoot 使用JPA+MySQL+Thymeleaf 总结 一 SpringBoot 使用JPA+MySQL+Thymeleaf 总结 二 方法一 使用原生sql查询 或者 为方法名增加 ...
- SpringBoot 使用JPA+MySQL+Thymeleaf 总结 一
SpringBoot 使用JPA+MySQL+Thymeleaf 总结 一 SpringBoot 使用JPA+MySQL+Thymeleaf 总结 二 pom引用 <?xml version=& ...
- spring-boot jpa mysql emoji utfmb4 异常处理
spring-boot jpa mysql utf8mb4 emoji 写入失败 mysql database,table,column 默认为utf8mb4 Caused by: java.sql. ...
- IDEA SpringBoot+JPA+MySql+Redis+RabbitMQ 秒杀系统
先放上github地址:spike-system,可以直接下载完整项目运行测试 SpringBoot+JPA+MySql+Redis+RabbitMQ 秒杀系统 技术栈:SpringBoot, MyS ...
- JPA mysql wildfly jboss 存储时乱码
首先确保mysql的库,表创建时指定的字符集collation. 可以直接用命令行插入中文,看查询出来是不是中文. insert into live_main_sync (cn_name, creat ...
- Hibernate | Spring JPA | MySQL 使用过程遇到的一些问题
1. 使用过程 2. 背景 3. 遇到问题 3.1 不指定Hibernate数据库方言,默认SQL生成方式 3.2 抛出异常Hibernate加入了@Transactional事务不会回滚 3.3 H ...
随机推荐
- 2019 校内赛 RPG的地牢猎手(bfs+优先队列)
Problem Description Luke最近沉迷一款RPG游戏,游戏中角色可以进入地牢关卡,只要顺利走出地牢就可以获得奖励.地牢表示为n行m列的块矩阵,其中每个块只可以是障碍块.入口.出口或数 ...
- react案例->新闻移动客户端--(react+redux+es6+webpack+es6的spa应用)
今天分享一个react应用,应在第一篇作品中说要做一个react+redux+xxx的应用.已经做完一部分,拿出来分享.github地址为:点我就可以咯~ 这里实现了一个新闻移动站的spa.本来想写p ...
- codevs1260 快餐问题
题意: 一个套餐需要a个A,b个B,c个C. 你生产一个A需要t1,一个B需要t2,一个C需要t3时间. 你有n台机器.每台每天工作timei时间. 一件物品只能在一个机器上生产. 求你一天最多能生产 ...
- n+lognlogV查找最大值
来自Blogewoosh #6. 啃了一下,写个翻译吧. 问题:你有一个数组,你不知道每个元素的大小,但是能够提出询问:a[x]是否>=v?你需要找出这个数组的最大值,只能询问n + lognl ...
- av_seek_frame() 定位为什么不准呢?
初次学习和使用ffmpeg,电脑系统有点老,没办法使用最新版的ffmpeg 3.3,只能从别处下载了一个2.8版的用用,官网提供的历史版本都没有我电脑可用的版本. 花了两天时间学习并写了一个简单的处理 ...
- easyUI 两个grid表格数据左移右移代码
做项目中经常遇到选择已有数据,移动到选择好数据grid的场景,比如为项目添加员工,左侧grid是待选择员工,选好后移动到右侧grid,这里我用的jquery-easyui-1.4.2,整理出一份gri ...
- 计算机基础:计算机网络-socket编程
来源:mooc大学华南理工大学计算机网络课程 chapter6 代码:https://github.com/NeilKeats/SocketDemo/commit/5f3a795250a9533910 ...
- springmvc 学习笔记
@Autowired,@RequestMapping,@RequestParam 使用该注解,引入对象时, 可以省略setter getter.减少代码显示. @AutowiredSimService ...
- windows server 2012 流媒体服务器搭建(直播与点播)
IIS Live Smooth Streaming(实时平滑流式处理)是微软下一代流媒体解决方案.该技术是在IIS web中集成媒体传输平台IIS media services,实现利用标准 HTTP ...
- C++学习之回调函数
回调函数: 通过函数指针进行调用的函数. 回调函数不是由实现方进行调用,而是将函数指针传入,在特殊条件或者状态下进行触发调用. 譬如: 在自定义按钮控件时,当点击按钮,触发点击事件,调用指定函数. 注 ...