博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot + JPA 连接MySQL完整实例(一)
阅读量:5916 次
发布时间:2019-06-19

本文共 5140 字,大约阅读时间需要 17 分钟。

开发工具

1、Eclipse

2、Maven

3、Spring Boot

首先,Eclipse中配置好maven,具体请百度

 

工程结构:

 

实现步骤:

1、Eclipse中新建一个maven project

 

(1)src/main/java文件夹是默认的源代码文件,写业务逻辑代码

(2)src/main/resources是默认约定的静态资源目录

手动添加src/main/resources文件夹(注意文件是source folder类型),它里面是连接数据库的配置文件

 

2、就像第一步那样,新建一个maven project,这次基于webapp的,如下图,一直下一步

复制他的src/main/webapp文件夹和所有内容,拷贝到第一个工程下的src/main/下(非source folder文件类型)

 

3、pom.xml全部内容:

4.0.0
com.zit
SpringBoot
0.0.1-SNAPSHOT
jar
UTF-8
org.springframework.boot
spring-boot-starter-parent
2.0.1.BUILD-SNAPSHOT
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-data-jpa
spring-snapshots
Spring Snapshots
https://repo.spring.io/libs-snapshot
true

可以看到,若要使用Spring Data JPA,直接dependency它即可,它会自动下载依赖jar包,非常方便

 

4、不要忘了,连接MySQL需要MySQL的连接jar包

mysql-connector-java-*-bin.jar

在工程下新建一个文件夹lib,存放该jar包,并add to build path

 

5、数据表

 

 

 

6、完整代码

(1)model类,对应数据库的表和字段

package com.zit.model;import javax.persistence.Column;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="logintable")public class UserLogin {        @Id    @NotNull    @GeneratedValue(strategy = GenerationType.AUTO)    private long id;    @NotNull    @Column(name="login_name")    private  String loginName;    @NotNull    @Column(name="login_password")    private  String loginPassword;        @Column(name="address")    private  String address;    public UserLogin(){}    public UserLogin(String a, String b){        this.loginName = a;        this.loginPassword = b;    }    public long getId() {        return id;    }    public void setId(long id) {        this.id = id;    }    public String getLoginName() {        return loginName;    }    public void setLoginName(String loginName) {        this.loginName = loginName;    }    public String getLoginPassword() {        return loginPassword;    }    public void setLoginPassword(String loginPassword) {        this.loginPassword = loginPassword;    }    public String getAddress() {        return address;    }    public void setAddress(String address) {        this.address = address;    }            }

 

(2)Dao层类

package com.zit.dao;import javax.transaction.Transactional;import org.springframework.data.repository.CrudRepository;import com.zit.model.UserLogin;@Transactionalpublic interface UserLoginDao extends CrudRepository
{ UserLogin findByloginName(String loginName);}

JPA的简便之处:简单的sql语句,直接通过约定的函数名称即可,不需要写sql语句

 

(3)Controller

package com.zit;import javax.annotation.Resource;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import com.zit.dao.UserLoginDao;import com.zit.model.UserLogin;@Controller@SpringBootApplication@EnableAutoConfigurationpublic class UserLoginController {    @Resource    UserLoginDao userLoginDAO;    @RequestMapping("/userLogin")    @ResponseBody    public String login(String userName, String password){        UserLogin ul = userLoginDAO.findByloginName(userName);                if(ul==null)        {            return "Login Error";        }        else        {            return ul.getLoginName()+"----"+ul.getLoginPassword() + "----" +ul.getAddress();        }    }        public static void main(String[] args) {        SpringApplication.run(UserLoginController.class, args);    }}

 

(4)application.properties

#DB Configuration:spring.datasource.driverClassName = com.mysql.jdbc.Driverspring.datasource.url = jdbc:mysql://localhost:3306/test?characterEncoding=utf-8spring.datasource.username = rootspring.datasource.password = #JPA Configuration:  spring.jpa.database=MySQLspring.jpa.show-sql=true  spring.jpa.generate-ddl=true  spring.jpa.hibernate.ddl-auto=update  #spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect  spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy  #spring.jpa.database=org.hibernate.dialect.MySQL5InnoDBDialect #spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MYSQL5Dialect

 

 

最后,在Controller类上右键,run as ———Java Application

 

浏览器输入地址:http://localhost:8080/userLogin?userName=li&password=1234567

页面显示内容

 

转载于:https://www.cnblogs.com/Donnnnnn/p/8552978.html

你可能感兴趣的文章
jvm在什么时候进行进行垃圾回收,在什么时候进行扩大内存
查看>>
【转载】强大的命令行工具wmic
查看>>
如何用30分钟快速优化家中Wi-Fi?阿里工程师有绝招
查看>>
云越发展,锁定问题就会越严重?
查看>>
各种链接
查看>>
我的友情链接
查看>>
《Spring实战》第四版读书笔记 第一章 Spring之旅
查看>>
那些年,一起学的Java 2-4
查看>>
RedHat已更改其开源许可规则
查看>>
redis集群搭建
查看>>
LNMP架构 (Ⅱ)——nginx相关配置、nginx代理
查看>>
双十一流量洪峰 支撑阿里核心业务的云数据库揭秘
查看>>
OSChina 周一乱弹 ——程序员跟产品经理撕逼必须掌握的套路
查看>>
Linux系统启动流程详解
查看>>
Magento(CE1.X)自带模块解析五
查看>>
Factory Method模式 (一)
查看>>
代码整洁之道-第9章-单元测试-读书笔记
查看>>
C++ ssd5 12 optional exercise2
查看>>
如何调用带返回值类型的函数
查看>>
linux网络编程涉及的函数
查看>>