本文默认你的开发环境.数据库已经安装好
想用使用数据库.我们需要现在pom文件中添加相应的依赖
pom.xml
				?
			
| 
 
								1
 
								2
 
								3
 
								4
 
								5
 
								6
 
								7
 
								8
 
								9
 
								10
 
								11
 
								12
 
								13
 
								14
 
								15
 
								16
 
								17
 
								18
 
								19
 
								20
 
								21
 
								22
 
								23
 
								24
 
								25
 
								26
 
								27
 
								28
 
								29
 
								30
 
								31
 
								32
 
								33
 
								34
 
								35
 
								36
 
								37
 
								38
 
								39
 
								40
 
								41
 
								42
 
								43
 
								44
 
								45
 
								46
 
								47
 
								48
 
								49
 
								50
 
								51
 
								52
 
								53
 
								54
 
								55
 
								56
 
								57
 
								58
 
								59
 
								60
 
								61
 
								62
 
								63
 
								64
 
								65
 
								66
 
								67
 
								68
 
								69
 
								70
 
								71
 
								72
						  | 
<?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.imgod</groupId> 
<artifactId>testjpa</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>war</packaging> 
<name>TestJpa</name> 
<description>Demo project for Spring Boot</description> 
<parent> 
<groupId>org.springframework.boot</groupId> 
<artifactId>spring-boot-starter-parent</artifactId> 
<version>1.4.2.RELEASE</version> 
<relativePath /> <!-- lookup parent from repository -->
</parent> 
<properties> 
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
<java.version>1.8</java.version> 
</properties> 
<dependencies> 
<dependency> 
<groupId>org.springframework.boot</groupId> 
<artifactId>spring-boot-starter-data-jpa</artifactId> 
</dependency> 
<dependency> 
<groupId>org.springframework.boot</groupId> 
<artifactId>spring-boot-starter-web</artifactId> 
</dependency> 
<dependency> 
<groupId>org.springframework.boot</groupId> 
<artifactId>spring-boot-starter-tomcat</artifactId> 
<scope>provided</scope> 
</dependency> 
<dependency> 
<groupId>org.springframework.boot</groupId> 
<artifactId>spring-boot-starter-test</artifactId> 
<scope>test</scope> 
</dependency> 
<dependency> 
<groupId>mysql</groupId> 
<artifactId>mysql-connector-java</artifactId> 
</dependency> 
<dependency> 
<groupId>org.springframework.boot</groupId> 
<artifactId>spring-boot-starter-jdbc</artifactId> 
</dependency> 
<!-- 添加Hibernate依赖 -->
<dependency> 
<groupId>org.hibernate</groupId> 
<artifactId>hibernate-core</artifactId> 
</dependency> 
</dependencies> 
<build> 
<plugins> 
<plugin> 
<groupId>org.springframework.boot</groupId> 
<artifactId>spring-boot-maven-plugin</artifactId> 
</plugin> 
</plugins> 
</build> 
</project> 
 | 
我们的配置文件进行数据库的配置
application.properties:
				?
			
| 
 
								1
 
								2
 
								3
 
								4
 
								5
 
								6
 
								7
 
								8
 
								9
						  | 
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test 
spring.datasource.username=root 
spring.datasource.password=imgod1 
spring.datasource.driver-class-name=com.mysql.jdbc.Driver 
spring.datasource.max-idle=10
spring.datasource.max-wait=10000
spring.datasource.min-idle=5
spring.datasource.initial-size=5
spring.jpa.properties.hibernate.hbm2ddl.auto=update 
 | 
前面配置的是数据库信息,最后一行配置的是.如果我们定义的实体在数据库中没有对应的表的话.会帮我们自动创建
我们的实体类型
User.Java
				?
			
| 
 
								1
 
								2
 
								3
 
								4
 
								5
 
								6
 
								7
 
								8
 
								9
 
								10
 
								11
 
								12
 
								13
 
								14
 
								15
 
								16
 
								17
 
								18
 
								19
 
								20
 
								21
 
								22
 
								23
 
								24
 
								25
 
								26
 
								27
 
								28
 
								29
 
								30
 
								31
 
								32
 
								33
 
								34
 
								35
 
								36
 
								37
 
								38
 
								39
 
								40
 
								41
 
								42
 
								43
 
								44
 
								45
						  | 
package com.imgod.bean; 
import javax.persistence.Entity; 
import javax.persistence.GeneratedValue; 
import javax.persistence.GenerationType; 
import javax.persistence.Id; 
import javax.persistence.Table; 
import javax.validation.constraints.NotNull; 
@Entity
@Table(name = "users") 
public class User { 
@Id
@GeneratedValue(strategy = GenerationType.AUTO) 
private int id; 
@NotNull
private String email; 
@NotNull
private String name; 
public int getId() { 
return id; 
} 
public void setId(int id) { 
this.id = id; 
} 
public String getEmail() { 
return email; 
} 
public void setEmail(String email) { 
this.email = email; 
} 
public String getName() { 
return name; 
} 
public void setName(String name) { 
this.name = name; 
} 
} 
 | 
对应数据库中的user表,没有的话会自动创建
想对数据库进行操作,我们需要创建一个接口继承CrudRepository
UserDao.java
				?
			
                	
    
	
	
		
		
	
 
	
		
			
	
	 
     
	
			
                 
			
		
		
			
			
			
    
        
        
	
			
						
			
            			
    		
    		
		
	    
    	
    	
        
    	
    
| 
 
								1
 
								2
 
								3
 
								4
 
								5
 
								6
 
								7
 
								8
 
								9
 
								10
 
								11
 
								12
 
								13
 
								14
 
								15
 
								16
 
								17
 
								18
 
								19
 
								20
 
								21
 
								22
 
								23
 
								24
 
								25
 
								26
 
								27
 
								28
 
								29
 
								30
						  | 
package com.imgod.dao; 
import org.springframework.data.domain.Pageable; 
import org.springframework.data.repository.CrudRepository; 
import org.springframework.stereotype.Repository; 
import org.springframework.transaction.annotation.Transactional; 
import com.imgod.bean.User; 
import java.lang.String; 
import java.util.List; 
@Transactional
@Repository
public interface UserDao extends CrudRepository<User, Integer> { 
//jpa 方法名就是查询语句,只要规法写方法名一切就都可以完成(当然.有时候会造成方法名又臭又长) 
User findByEmail(String email);//根据邮箱查询 
List<User> findByName(String name);//根据用户名查询 
//select * from test.users where email='imgod@qq.com' and name='imgod'; 
List<User> findByNameAndEmail(String name,String email);//根据用户名和邮箱进行查询 
//select * from test.users where email='imgod@qq.com' and name='imgod4444' order by id desc; 
List<User> findByNameAndEmailOrderByIdDesc(String name,String email);//根据用户名和邮箱进行查询,排序 
//select * from test.users where email='imgod@qq.com' and name='imgod4444' order by id desc limit 2; 
List<User> findTop2ByNameAndEmailOrderByIdDesc(String name,String email);//根据用户名和邮箱进行查询,排序,前两个 
//根据邮箱进行分页查询 
List<User> findByEmail(String email,Pageable pageable);//根据用户名和邮箱进行查询 
} 
 | 
实现CrudRepository我们就可以对数据库进行一些基础操作了
如果我们想要实现更多的操作.需要自己按照严格的命名规则为方法定义方法名
下面就是我们重要的控制器的实现了:
				?
			
	
						
						
						
						
						
						
						
																		
    
        
    
        
                        
                
                    
                
                
                
                    
                
                
                
                    
                
                
                
                    
                
                        
    
 																		
						
																		
    
        
 												
						
																		
	
	
		
				
			
																		
						
						
					
				
				                | 
 
								1
 
								2
 
								3
 
								4
 
								5
 
								6
 
								7
 
								8
 
								9
 
								10
 
								11
 
								12
 
								13
 
								14
 
								15
 
								16
 
								17
 
								18
 
								19
 
								20
 
								21
 
								22
 
								23
 
								24
 
								25
 
								26
 
								27
 
								28
 
								29
 
								30
 
								31
 
								32
 
								33
 
								34
 
								35
 
								36
 
								37
 
								38
 
								39
 
								40
 
								41
 
								42
 
								43
 
								44
 
								45
 
								46
 
								47
 
								48
 
								49
 
								50
 
								51
 
								52
 
								53
 
								54
 
								55
 
								56
 
								57
 
								58
 
								59
 
								60
 
								61
 
								62
 
								63
 
								64
 
								65
 
								66
 
								67
 
								68
 
								69
 
								70
 
								71
 
								72
 
								73
 
								74
 
								75
 
								76
 
								77
 
								78
 
								79
 
								80
 
								81
 
								82
 
								83
 
								84
 
								85
 
								86
 
								87
 
								88
 
								89
 
								90
 
								91
 
								92
 
								93
 
								94
 
								95
 
								96
 
								97
 
								98
 
								99
 
								100
 
								101
 
								102
 
								103
 
								104
 
								105
 
								106
 
								107
 
								108
 
								109
 
								110
 
								111
 
								112
 
								113
 
								114
 
								115
 
								116
 
								117
 
								118
 
								119
 
								120
 
								121
 
								122
 
								123
 
								124
 
								125
 
								126
 
								127
 
								128
 
								129
 
								130
 
								131
 
								132
 
								133
 
								134
 
								135
 
								136
 
								137
 
								138
 
								139
 
								140
 
								141
 
								142
 
								143
 
								144
 
								145
 
								146
 
								147
 
								148
 
								149
 
								150
 
								151
 
								152
 
								153
 
								154
 
								155
 
								156
 
								157
 
								158
 
								159
 
								160
 
								161
 
								162
 
								163
 
								164
 
								165
 
								166
 
								167
						  | 
package com.imgod.controller; 
import java.util.List; 
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.imgod.bean.User; 
import com.imgod.dao.UserDao; 
@RestController
public class UserController { 
@Autowired
private UserDao userDao; 
/** 
* 根据邮件去查找 
* 
* @param email 
* @return 
*/
@RequestMapping(value = "/findUserByEmail") 
public Object getUserByEmail(String email) { 
System.out.println("email:" + email); 
User user = userDao.findByEmail(email); 
if (null == user) { 
return "暂无数据"; 
} else { 
return user; 
} 
} 
/** 
* 获取所有的用户信息 
* 
* @return 
*/
@RequestMapping(value = "/getall") 
public Object getAllUser() { 
List<User> list = (List<User>) userDao.findAll(); 
if (null == list || list.size() == 0) { 
return "暂无数据"; 
} else { 
return list; 
} 
} 
/** 
* 删除指定id用户 
* 
* @param id 
* @return 
*/
@RequestMapping(value = "/deleteUser") 
public Object deleteuUser(int id) { 
User user = userDao.findOne(id); 
if (null == user) { 
return "删除用户失败:" + id + "没找到该用户"; 
} else { 
userDao.delete(id); 
return "删除用户成功:" + id; 
} 
} 
/** 
* 添加用户 
* 
* @param id 
* @param email 
* @param name 
* @return 
*/
@RequestMapping(value = "/adduser") 
public Object addUser(String id, String email, String name) { 
System.out.println("email:" + email); 
int tempId = Integer.parseInt(id); 
System.out.println("tempId:" + tempId + "email:" + email + "name:" + name); 
User tempUser = userDao.findOne(tempId); 
if (null == tempUser) { 
tempUser = new User(); 
tempUser.setId(tempId); 
} 
tempUser.setEmail(email); 
tempUser.setName(name); 
User resultUser = userDao.save(tempUser); 
if (null == resultUser) { 
return "新增用户失败"; 
} else { 
return "新增用户:" + resultUser.getName(); 
} 
} 
// 条件查询 
/** 
* 获取姓名和邮箱是指定内容的用户 
* 
* @return 
*/
@RequestMapping(value = "/getUser1") 
public Object getUser(String email, String name) { 
List<User> userList = userDao.findByNameAndEmail(name, email); 
if (null != userList && userList.size() != 0) { 
return userList; 
} else { 
return "没找到符合要求的用户"; 
} 
} 
/** 
* 获取姓名和邮箱是指定内容的用户并排序 
* 
* @return 
*/
@RequestMapping(value = "/getUser2") 
public Object getUser2(String email, String name) { 
List<User> userList = userDao.findByNameAndEmailOrderByIdDesc(name, email); 
if (null != userList && userList.size() != 0) { 
return userList; 
} else { 
return "没找到符合要求的用户"; 
} 
} 
/** 
* 获取姓名和邮箱是指定内容的用户并排序,前两个 
* 
* @return 
*/
@RequestMapping(value = "/getUser3") 
public Object getUser3(String email, String name) { 
List<User> userList = userDao.findTop2ByNameAndEmailOrderByIdDesc(name, email); 
if (null != userList && userList.size() != 0) { 
return userList; 
} else { 
return "没找到符合要求的用户"; 
} 
} 
/** 
* 分页获取邮箱为指定内容的数据 
* 
* @return 
*/
@RequestMapping(value = "/getUser4") 
public Object getUser4(String email, int page) { 
// page 属于下标 从0开始 0代表是第一页 
List<User> userList = userDao.findByEmail(email, new PageRequest(page, 2)); 
if (null != userList && userList.size() != 0) { 
return userList; 
} else { 
return "没找到符合要求的用户"; 
} 
} 
} 
 | 
如此我们就完成了对数据库的操作:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。
原文链接:http://blog.csdn.net/u010399316/article/details/53420532
相关文章
             猜你喜欢
        
        - ASP.NET自助建站系统中的用户注册和登录功能定制方法 2025-06-10
 - ASP.NET自助建站系统的域名绑定与解析教程 2025-06-10
 - 个人服务器网站搭建:如何选择合适的服务器提供商? 2025-06-10
 - ASP.NET自助建站系统中如何实现多语言支持? 2025-06-10
 - 64M VPS建站:如何选择最适合的网站建设平台? 2025-06-10
 
			TA的动态
			
		
				- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
 - 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
 - 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
 - 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
 - 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
 
快网idc优惠网
QQ交流群
				您的支持,是我们最大的动力!				
			
		
        热门文章
        
    
    - 
            2025-05-29 52
 - 
            2025-05-25 57
 - 
            
Windows 10系统怎么进行蓝牙连接?Windows 10系统蓝牙链接操作步骤
2025-05-27 88 - 
            
探讨慕尼黑云服务器如何帮助企业降低IT成本,并分析其带来的具体益处
2025-05-25 32 - 
            2025-05-25 98
 
		热门评论
	
	
        


    		
            	
        
        
        