微网站建设网站计算器代码

当前位置: 首页 > news >正文

微网站建设,网站计算器代码,cctv5体育现场直播,wordpress人体时钟写在前面#xff1a;从2018年底开始学习SpringBoot#xff0c;也用SpringBoot写过一些项目。现在对学习Springboot的一些知识总结记录一下。如果你也在学习SpringBoot#xff0c;可以关注我#xff0c;一起学习#xff0c;一起进步。 相关文章#xff1a; 【Springboot系… 写在前面从2018年底开始学习SpringBoot也用SpringBoot写过一些项目。现在对学习Springboot的一些知识总结记录一下。如果你也在学习SpringBoot可以关注我一起学习一起进步。 相关文章 【Springboot系列】Springboot入门到项目实战 文章目录 搭建项目 1、新建SpringBoot项目2、配置基本属性 编写代码 1、创建持久化类2、定义数据访问层接口3、定义业务层类4、定义控制器类 测试应用 1、测试2、源码下载 现在实际开发中开始使用SpringDataJpa在实际开发中新建实体类时有时候会出现几个实体类中有着相同的属性比如一套学生管理系统中teacher老师表和student学生表中都需要账号密码姓名等字段。这时就可以写一个公共的实体类把这些相同的字段存放进去之后teacher和student类就可以直接继承公共的实体类。 搭建项目 1、新建SpringBoot项目 引入对应的依赖完整pom.xml文件代码如下。 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.2.1.RELEASE/versionrelativePath/ !– lookup parent from repository –/parentgroupIdcom.mcy.springdatajpa/groupIdartifactIdspring-data-jpa-entity/artifactIdversion0.0.1-SNAPSHOT/versionnamespring-data-jpa-entity/namedescriptionDemo project for Spring Boot/descriptionpropertiesjava.version1.8/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdscoperuntime/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scopeexclusionsexclusiongroupIdorg.junit.vintage/groupIdartifactIdjunit-vintage-engine/artifactId/exclusion/exclusions/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project2、配置基本属性 在src/main/resources下找到application.properties文件在该配置文件中配置数据源和jpa相关的属性需要在数据库中先新建一个jpa数据库。 #数据源信息配置 #数据库地址jpa数据库名需要在数据库中先建一个jpa数据库 spring.datasource.urljdbc:mysql://localhost:3306/jpa?serverTimezoneGMT%2B8 #用户名 spring.datasource.usernameroot #密码 spring.datasource.passwordroot #链接数据库驱动 spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver #指定数据库方言 spring.jpa.database-platformorg.hibernate.dialect.MySQL5InnoDBDialect #配置在日志中显示SQL语句 spring.jpa.show-sqltrue #指定自动创建|更新|验证数据库表结构等配置配置成updata #表示如果数据库中存在持久化类对应的表就不创建不存在就创建对应的表 spring.jpa.hibernate.ddl-autoupdate spring.jpa.hibernate.use-new-id-generator-mappingsfalse编写代码 1、创建持久化类 在项目中新建4个包分别为entity放置持久化类、controller控制器、repository定义数据访问接口的包、service业务逻辑处理类。 在entity包中创建一个持久化类SysUser.java作为公共的实体类。代码如下。 import javax.persistence.;/** 公共实体类/ Entity Inheritance(strategy InheritanceType.JOINED) public class SysUser {IdGeneratedValueprotected Integer id;protected String username;protected String password;protected String name;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;}public String getName() {return name;}public void setName(String name) {this.name name;} }在entity包中创建一个持久化类Teacher.java教师表和Student.java学生类之后继承公共的SysUser.java实体类。代码如下。 import javax.persistence.Entity;/** 老师类继承公共实体类SysUser/ Entity public class Teacher extends SysUser{private String job;public String getJob() {return job;}public void setJob(String job) {this.job job;} }Student.java类 import javax.persistence.Entity;/** 学生类继承公共实体类SysUser*/ Entity public class Student extends SysUser {private String banji;public String getBanji() {return banji;}public void setBanji(String banji) {this.banji banji;} }数据库里会自动给我们建立三个表sys_userstudentteacher。其中sys_user 表里会有四个字段idusernamepasswordname student表里会有两个字段idbanji。teacher表里会有两个字段idjob。 2、定义数据访问层接口 在repository包下新建三个接口代码如下。 UserRepository.java公共实体类接口 import com.mcy.springdatajpa.springdatajpaentity.entity.SysUser; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository;Repository public interface UserRepository extends JpaRepositorySysUser, Integer {}StudentRepository.java学生类接口 import com.mcy.springdatajpa.springdatajpaentity.entity.Student; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository;Repository public interface StudentRepository extends JpaRepositoryStudent, Integer {} TeacherRepository.java老师类接口 import com.mcy.springdatajpa.springdatajpaentity.entity.Teacher; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository;Repository public interface TeacherRepository extends JpaRepositoryTeacher, Integer {}3、定义业务层类 在service包下新建一个三个类包含查询和添加方法。代码如下。 UserService.java类 import org.springframework.stereotype.Service;Service public class UserService {} StudentService.java类 import com.mcy.springdatajpa.springdatajpaentity.entity.Student; import com.mcy.springdatajpa.springdatajpaentity.repository.StudentRepository; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List;Service public class StudentService {Resourceprivate StudentRepository studentRepository;public void save(Student student) {studentRepository.save(student);}public ListStudent findAll() {return studentRepository.findAll();} }TeacherService.java类 import com.mcy.springdatajpa.springdatajpaentity.entity.Teacher; import com.mcy.springdatajpa.springdatajpaentity.repository.TeacherRepository; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List;Service public class TeacherService {Resourceprivate TeacherRepository teacherRepository;public void save(Teacher teacher) {teacherRepository.save(teacher);}public ListTeacher findAll() {return teacherRepository.findAll();} }4、定义控制器类 在controller包下新建一个IndexController类包含保存数据和查询数据方法。代码如下。 import com.mcy.springdatajpa.springdatajpaentity.entity.Student; import com.mcy.springdatajpa.springdatajpaentity.entity.Teacher; import com.mcy.springdatajpa.springdatajpaentity.service.StudentService; import com.mcy.springdatajpa.springdatajpaentity.service.TeacherService; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource; import java.util.List;RestController RequestMapping(/index) public class IndexController {Resourceprivate StudentService studentService;Resourceprivate TeacherService teacherService;RequestMapping(/save)public String save(){Teacher t1new Teacher();t1.setName(张老师);t1.setUsername(t01);t1.setPassword(1111);t1.setJob(班主任);teacherService.save(t1);Student s1new Student();s1.setName(李学生);s1.setBanji(软件工程一班);s1.setUsername(20170101);s1.setPassword(2222);studentService.save(s1);return 数据保存成功;}RequestMapping(/findStu)public Object findStu(){ListStudent stu studentService.findAll();return stu;}RequestMapping(/findTeacher)public Object findTeacher(){ListTeacher teachers teacherService.findAll();return teachers;} }测试应用 1、测试 启动MySQL数据库在数据库中创建名为jpa的数据库。 springboot项目启动后数据库里会自动给我们建立三个表sys_userstudentteacher。其中sys_user 表里会有四个字段idusernamepasswordname student表里会有两个字段idbanji。teacher表里会有两个字段idjob。 测试添加数据在浏览器中输入http://localhost:8080/index/save数据保存成功后返回“数据保存成功”提示信息。 数据库中会新增控制器中save方法对应的数据如图。 sys_user表 student表 teacher表 分析一下teacher,和student表中的id其实是外键用来关联sys_user表的主键id的。 测试一下读取teacher和student中的所有数据 读取student表中的数据浏览器访问http://localhost:8080/index/findStu返回结果如图。 读取teacher表中的数据浏览器访问http://localhost:8080/index/findTeacher返回结果如图。
2、源码下载 案例代码下载链接https://github.com/machaoyin/spring-data-jpa-entity