3.springboot整合jpa
1.创建数据库
DROP TABLE IF EXISTS `movie`;
CREATE TABLE `movie` (`id` int(255) NOT NULL AUTO_INCREMENT,`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`author` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`score` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,PRIMARY KEY (`id`) USING BTREE
)
INSERT INTO `movie` VALUES (1, '美丽人生', '罗伯托·贝尼尼', '9.6', '一个快乐的传说');
INSERT INTO `movie` VALUES (2, '放牛班的春天', ' 克里斯托夫·巴拉蒂', '9.3', ' 歌声伴我心');
INSERT INTO `movie` VALUES (3, '触不可及', '奥利维埃·纳卡什 / 埃里克·托莱达诺', '9.3', '闪亮人生');
INSERT INTO `movie` VALUES (4, '三傻大闹宝莱坞', '拉吉库马尔·希拉尼', '9.2', ': 三个傻瓜');
INSERT INTO `movie` VALUES (5, '怦然心动', '罗伯·莱纳', '9.1', '梧桐树之恋');
INSERT INTO `movie` VALUES (6, '绿皮书', '彼得·法雷里', '8.9', ' 绿簿旅友');
INSERT INTO `movie` VALUES (7, '功夫', ' 周星驰', '8.8', '功夫3D');
INSERT INTO `movie` VALUES (8, '悲伤逆流成河', '郭敬明', '8.8', '逆流成河');
INSERT INTO `movie` VALUES (9, '肖申克的救赎', '弗兰克·德拉邦特', '9.8', '月黑高飞');
INSERT INTO `movie` VALUES (14, '霸王别姬', '陈凯歌', '9.6', '再见,我的妾');
INSERT INTO `movie` VALUES (15, '泰坦尼克号', ' 詹姆斯·卡梅隆', '9.4', '铁达尼号');
INSERT INTO `movie` VALUES (16, '这个杀手不太冷', '吕克·贝松', '9.4', '终极追杀令');
INSERT INTO `movie` VALUES (17, '千与千寻', '宫崎骏', '9.4', '神隐少女');
2.新建一个名为springboot-jpa的springboot工程


3.配置yml
spring:datasource:url: jdbc:mysql:///你的数据库名?serverTimezone=UTCdriver-class-name: com.mysql.cj.jdbc.Driverusername: 你的数据库用户名password: 你的数据库密码jpa:hibernate:ddl-auto: updateshow-sql: true
4.创建实体类
@Data
@Entity
@Table(name = "movie")
@Proxy(lazy = false)
public class Movie {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Integer id;private String name;private String author;private String score;private String title;
}
5.创建数据层
public interface MovieDao extends JpaRepository {/*** 条件查询* @param name* @return*/public List findByNameLike(String name);
}
6.创建服务接口类
public interface MovieService {/*** 查询所有*/public List findAll();/*** 根据id查询*/public Movie findById(Integer id);/*** 新增* @return*/public Movie add(Movie movie);/*** 更新* @return*/public Movie update(Movie movie);/*** 删除*/public void delete(Integer id);/*** 分页查询*/public Page findPage(Pageable pageable);/*** 条件查询*/public List findQuery(String name);}
7.创建服务接口实现类
@Service
public class MovieServiceImpl implements MovieService {@Autowiredprivate MovieDao movieDao;/*** 查询所有* @return*/@Overridepublic List findAll() {return movieDao.findAll();}/*** 根据id查询* @param id* @return*/@Overridepublic Movie findById(Integer id) {return movieDao.getOne(id);}/*** 添加* @param movie* @return*/@Overridepublic Movie add(Movie movie) {return movieDao.save(movie);}/*** 更新* @param movie* @return*/@Overridepublic Movie update(Movie movie) {return movieDao.save(movie);}/*** 删除* @param id*/@Overridepublic void delete(Integer id) {movieDao.deleteById(id);}/*** 分页查询* @param pageable* @return*/@Overridepublic Page findPage(Pageable pageable) {return movieDao.findAll(pageable);}/*** 条件查询* @param name* @return*/@Overridepublic List findQuery(String name) {return movieDao.findByNameLike(name);}
}
8.测试
@SpringBootTest
class SpringbootJpaApplicationTests {@Autowiredprivate MovieService movieService;/*** 查询所有*/@Testpublic void testFindAll() {List movieList = movieService.findAll();for (Movie movie : movieList) {System.out.println(movie);}}/*** 根据id查询*/@Testpublic void testFindById() {Movie movie = movieService.findById(17);System.out.println(movie);}/*** 添加*/@Testpublic void testAdd() {Movie movie = new Movie();movie.setName("满江红");movie.setAuthor("张艺谋");movie.setScore("9.0");movie.setTitle("精忠报国");movieService.add(movie);}/*** 更新*/@Testpublic void testUpdateById() {Movie movie = new Movie();movie.setId(20);movie.setName("满江红");movie.setAuthor("张艺谋");movie.setScore("8.9");movie.setTitle("精忠报国");movieService.update(movie);}/*** 删除*/@Testpublic void delete(){movieService.delete(20);}/*** 分页查询*/@Testpublic void testPage() {Pageable pageable = PageRequest.of(1, 2);Page movieList = movieService.findPage(pageable);for (Movie movie : movieList) {System.out.println(movie);}}/*** 条件查询*/@Testpublic void testQuery() {String name="%"+"美丽"+"%";List movieList = movieService.findQuery(name);for (Movie movie : movieList) {System.out.println(movie);}}}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
