开发工具
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 classUserLogin {
@Id
@NotNull
@GeneratedValue(strategy=GenerationType.AUTO)private longid;
@NotNull
@Column(name="login_name")privateString loginName;
@NotNull
@Column(name="login_password")privateString loginPassword;
@Column(name="address")privateString address;publicUserLogin(){}publicUserLogin(String a, String b){this.loginName =a;this.loginPassword =b;
}public longgetId() {returnid;
}public void setId(longid) {this.id =id;
}publicString getLoginName() {returnloginName;
}public voidsetLoginName(String loginName) {this.loginName =loginName;
}publicString getLoginPassword() {returnloginPassword;
}public voidsetLoginPassword(String loginPassword) {this.loginPassword =loginPassword;
}publicString getAddress() {returnaddress;
}public voidsetAddress(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 classUserLoginController {
@Resource
UserLoginDao userLoginDAO;
@RequestMapping("/userLogin")
@ResponseBodypublicString 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 voidmain(String[] args) {
SpringApplication.run(UserLoginController.class, args);
}
}
(4)application.properties
#DB Configuration:
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url= jdbc:mysql://localhost:3306/test?characterEncoding=utf-8
spring.datasource.username =root
spring.datasource.password=#JPA Configuration:
spring.jpa.database=MySQL
spring.jpa.show-sql=truespring.jpa.generate-ddl=truespring.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
页面显示内容