Spring data jpa操作数据库

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_38868875/article/details/78166780

application.properties数据库连接信息

########################################################
###datasource -- \u6307\u5b9amysql\u6570\u636e\u5e93\u8fde\u63a5\u4fe1\u606f.
########################################################
spring.datasource.url = jdbc:mysql://localhost:3306/db01
spring.datasource.username = chen
spring.datasource.password = ******
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.max-active=20
spring.datasource.max-idle=8
spring.datasource.min-idle=8
spring.datasource.initial-size=10


########################################################
### Java Persistence Api --  Spring jpa\u7684\u914d\u7f6e\u4fe1\u606f.
########################################################
# Specify the DBMS
spring.jpa.database = MYSQL
# Show or not log for each sql query
spring.jpa.show-sql = true
# Hibernate ddl auto (create, create-drop, update)
spring.jpa.hibernate.ddl-auto = update
# Naming strategy
#[org.hibernate.cfg.ImprovedNamingStrategy  #org.hibernate.cfg.DefaultNamingStrategy]
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
# stripped before adding them to the entity manager)
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

mybatis.type-aliases-package=com.csl.demo.entity

pom.xml依赖文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.csl.demo</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>demo</name>
	<description></description>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.4.5.RELEASE</version>
	</parent>
	<properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
			<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
		<!-- 添加MySQL数据库驱动依赖包. -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>
		<!-- 添加Spring-data-jpa依赖. -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>
		
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.1.1</version>
		</dependency>
		
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<fork>true</fork>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

实体类

package com.csl.demo.entity;

import javax.persistence.*;
/**
 * 
 * @author Cherry
 * @date 2017年10月6日
 *
 */
@Entity
public class Music {
		@Id
		@GeneratedValue(strategy=GenerationType.AUTO)
		private Integer id;
		private String name;
		private String Singer;
		//..........
		
}

JpaRepository接口继承了PagingAndSortingRepository可以实现分页,接口中有crud之操作

package com.csl.demo.dao;


import org.springframework.data.jpa.repository.JpaRepository;

import com.csl.demo.entity.Music;

/**
 * 
 * @author Cherry
 * @date 2017年10月6日
 *
 */
public interface MusicRepository extends JpaRepository<Music, Integer> {
	//自定义方法
	Music findById(Integer id);
}

Music业务类

package com.csl.demo.service;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Repository;

import com.csl.demo.dao.MusicRepository;
import com.csl.demo.entity.Music;
/**
 * 
 * @author Cherry
 * @date 2017年10月6日
 *
 */
@Repository
public class MusicServices {
		@Autowired
		private MusicRepository musicRepository;
		
		public void save(Music music){
			musicRepository.save(music);
		}
		
		public Page<Music> list(PageRequest Page){
			return musicRepository.findAll(Page);
		}
		
		public Music findById(Integer id){
			return musicRepository.findOne(id);
		}
		
		public void delById(Integer id){
			musicRepository.delete(id);
		}
		public Music ListIds(Integer id){
			return musicRepository.findById(id);
		}
}

Controller类

package com.csl.demo.controller;
import java.util.List;

import javax.transaction.Transactional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.csl.demo.entity.Music;
import com.csl.demo.service.MusicServices;
/**
 * 
 * @author Cherry
 * @date 2017年10月6日
 *
 */
@RestController
@RequestMapping("/music")
public class MusicController {
		@Autowired
		private MusicServices musicServices;
		
		@Transactional
		@RequestMapping("/save")
		public String save(){
			musicServices.save(new Music("路边的野花","邓丽君"));
			musicServices.save(new Music("爱你在心口难开","邓丽君"));
			musicServices.save(new Music("月亮代表我的心","邓丽君"));
			musicServices.save(new Music("海韵","邓丽君"));
			musicServices.save(new Music("月如钩","邓丽君"));
			return "ok !";
		}
		@RequestMapping("/list")
		public List<Music> list(Integer i){
			PageRequest page = new PageRequest(i,4);
			return musicServices.list(page).getContent();
		}
		@RequestMapping("/find")
		public Music findOne(Integer id){
			return musicServices.findById(id);
		}
		
		@RequestMapping("/del")
		@Transactional
		public String del(Integer id) {
			musicServices.delById(id);
			return "Delete Success !";
		}
		
		@RequestMapping("/show")
		public Music listIds(Integer id){
			return musicServices.ListIds(id);
		}
}

启动类

package com.csl;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
 * 
 * @author Cherry
 * @date 2017年10月6日
 *
 */
@SpringBootApplication
public class App {

	public static void main(String[] args) {
		SpringApplication.run(App.class, args);
	}
}

------------------------------------------------------------------访问IT资料站学习更多IT知识!

猜你喜欢

转载自blog.csdn.net/baidu_38868875/article/details/78166780