Spring Boot应用连接数据库MySQL,并编写自定义SQL
来源:互联网 发布:淘宝司法拍卖商铺税费 编辑:程序博客网 时间:2024/06/06 01:35
1、修改pom.xml文件
在项目的pom.xml文件上增加如下代码,添加依赖文件。
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>6.0.6</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jdbc --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> <version>1.5.4.RELEASE</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> <version>1.5.4.RELEASE</version></dependency>2、设置全局配置文件
在src/main/resources/application.properties中设置数据源和jpa配置。
server.port=8080spring.datasource.url=jdbc:mysql://104.100.22.56:3306/kg_on?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=falsespring.datasource.username=55spring.datasource.password=ithcspring.datasource.driverClassName = com.mysql.cj.jdbc.Driver# Specify the DBMSspring.jpa.database = MYSQL# Show or not log for each sql queryspring.jpa.show-sql = true# Hibernate ddl auto (create, create-drop, update)spring.jpa.hibernate.ddl-auto = update# Naming strategyspring.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
需要添加的配置都在上面的代码中,不需要另外的XML配置和Java配置。上面代码中的数据库配置,你需要换成你的数据库的地址和用户名密码。hibernate的ddl-auto=update配置表名,数据库的表和列会自动创建。
3、MySQL数据库
安装MySQL,MySQL官方下载连接。安装后,建立一个名为user的表。我的表如下:
4、建立实体
建立Student类。User类用来创建一个User实体,User包含三个属性id,username,password。User实体和Mysql数据库的User表相对应,如上图。
package com.crehc.rwwc.kzg.Entity;import javax.persistence.GeneratedValue;import javax.persistence.*;@Entity@Table(name = "user")public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id") private Integer id; @Column(name = "username", nullable = false) private String username; @Column(name = "password", nullable = false) private String password; public User() {} public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}
5、实体的数据访问层UserRepository
respositroy包下建立UserRespositroy接口。UserRespositroy接口继承CrudRespositroy,CrudRespositroy已经实现了save,delete,deleteAll,findOne和findAll。
package com.crerc.rrrc.krrg.Repository;import com.credithc.rc.kg.Entity.User;import org.springframework.data.jpa.repository.Modifying;import org.springframework.data.jpa.repository.Query;import org.springframework.data.repository.CrudRepository;import org.springframework.stereotype.Repository;import org.springframework.transaction.annotation.Transactional;import java.util.List;@Repository@Transactionalpublic interface UserRepository extends CrudRepository<User, String> { //通过用户名密码查询用户 @Query(value = "select u.* from user u where u.username=?1 and u.password =PASSWORD(?2)", nativeQuery = true) @Modifying List<User> findUserByName(String username, String password); @Query(value = "select u.* from user u where u.username=?1", nativeQuery = true) @Modifying List<User> findByUsername(String username); @Query(value = "insert into user (username,password) values (?1,PASSWORD(?2))", nativeQuery = true) @Modifying Integer addUser(String username, String password);}
6、编写控制器Controller
@RequestMapping(value = "/addUser", method = RequestMethod.POST)@ResponseBodypublic String addUser(@RequestBody JSONObject obj,HttpServletRequest request) { String username = request.getHeader("username"); String password = request.getHeader("password"); String str = null; try { List<User> userList = userRepository.findByUsername(username); if(userList.size()>0){ return "该用户名已经存在,不能添加!"; }else{ Integer flag = userRepository.addUser(username,password); if(flag ==1){ return "添加用户名成功!"; }else{ return "添加用户名失败!"; } } } catch (Exception e) { e.printStackTrace(); return "添加用户名失败!"; }}
这里只说明了Springboot访问MySQL数据库并实现自定义SQL的方法,至于自定义的增删改查的方法,比较简单,这里不赘述。
由于刚接触Springboot不久,以笔记的形式记录下来,若有不足还请指正。
阅读全文
0 0
- Spring Boot应用连接数据库MySQL,并编写自定义SQL
- Spring Boot应用连接数据库MySQL
- Spring Boot应用连接数据库MySQL
- Spring Boot 连接MySql数据库
- Spring Boot 连接MySql数据库
- Spring Boot教程(四)Spring Boot 连接MySql数据库
- Spring Boot系列(六)Spring Boot 连接MySql数据库
- spring boot 通过mybatis连接MySQL数据库
- 基于Spring boot的Spring data jpa连接MySQL数据库
- Eclipse使用Maven搭建Spring Boot应用并访问数据库
- 45. Spring Boot MyBatis连接Mysql数据库【从零开始学Spring Boot】
- 45. Spring Boot MyBatis连接Mysql数据库【从零开始学Spring Boot】
- (45). Spring Boot MyBatis连接Mysql数据库【从零开始学Spring Boot】
- Spring Boot JDBC 连接数据库
- Spring Boot JPA 连接数据库
- Spring Boot MyBatis 连接数据库
- spring boot mybatis连接数据库
- Spring Boot JDBC 连接数据库
- 机器学习--物以类聚(k-means算法)
- linux定时器之alarm
- Search
- [noip 2017]普及组 T4
- 类成员函数参数为该类某个静态成员函数指针,需要在静态函数内使用当前实例的非静态数据成员
- Spring Boot应用连接数据库MySQL,并编写自定义SQL
- Docker命令小记。
- opencv提取截获图像,任意区域
- 写代码实现堆溢出、栈溢出、永久代溢出、直接内存溢出
- 通过导数求极值
- 数据库查询语言(2)DQL——零散知识
- 升级到12c时遇到的问题
- Selenium IDE 常用命令
- ssm整合步骤