springboot的创建
由于出错,改了好久,进度慢了许多,但这些错和解决方法我能记很久,后期还会完善......
**电脑安装有金山系列的产品,在运行springboot项目时,会出这样的错
解决方法:把金山词霸给关掉,禁用
1.创建一个SpringBoot项目
1)目录如下
2)application.properties文件
1 #数据源配置 2 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource 3 spring.datasource.driverClassName=com.mysql.jdbc.Driver 4 spring.datasource.url=jdbc:mysql://localhost:3306/stu?useSSL=false&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Shanghai 5 spring.datasource.username=root 6 spring.datasource.password=root 7 spring.datasource.initialSize=20 8 spring.datasource.minIdle=50 9 spring.datasource.maxActive=500 10 11 #配置jpa 12 #帮我们自动生成表结构 13 spring.jpa.properties.hibernate.hbm2ddl.auto=update 14 spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect 15 spring.jpa.show-sql= true 16 17 spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true 18 19 20 #上下文配置 21 server.port=8888 22 server.servlet.context-path=/stu
3)pom.xml文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 <parent> 6 <groupId>org.springframework.boot</groupId> 7 <artifactId>spring-boot-starter-parent</artifactId> 8 <version>2.1.4.RELEASE</version> 9 <relativePath/> <!-- lookup parent from repository --> 10 </parent> 11 <groupId>com.kude.stu</groupId> 12 <artifactId>kudestu</artifactId> 13 <version>0.0.1-SNAPSHOT</version> 14 <name>kudestu</name> 15 <description>Demo project for Spring Boot</description> 16 17 <properties> 18 <java.version>1.8</java.version> 19 </properties> 20 21 <dependencies> 22 <dependency> 23 <groupId>org.springframework.boot</groupId> 24 <artifactId>spring-boot-starter-data-jpa</artifactId> 25 </dependency> 26 <dependency> 27 <groupId>org.springframework.boot</groupId> 28 <artifactId>spring-boot-starter-web</artifactId> 29 </dependency> 30 31 <dependency> 32 <groupId>org.springframework.boot</groupId> 33 <artifactId>spring-boot-devtools</artifactId> 34 <scope>runtime</scope> 35 </dependency> 36 <dependency> 37 <groupId>mysql</groupId> 38 <artifactId>mysql-connector-java</artifactId> 39 <version>5.1.46</version> 40 </dependency> 41 <dependency> 42 <groupId>org.springframework.boot</groupId> 43 <artifactId>spring-boot-starter-test</artifactId> 44 <scope>test</scope> 45 </dependency> 46 47 <!-- druid数据库连接池--> 48 <dependency> 49 <groupId>com.alibaba</groupId> 50 <artifactId>druid</artifactId> 51 <version>1.1.10</version> 52 </dependency> 53 </dependencies> 54 55 <build> 56 <plugins> 57 <plugin> 58 <groupId>org.springframework.boot</groupId> 59 <artifactId>spring-boot-maven-plugin</artifactId> 60 </plugin> 61 </plugins> 62 </build> 63 64 </project>
4)entity层写实体类
1 package com.kude.stu.kudestu.stu.entity; 2 3 import javax.persistence.*; 4 5 @Entity 6 @Table(name = "user") 7 public class User { 8 @Id 9 @GeneratedValue(strategy = GenerationType.IDENTITY) 10 private Integer id; 11 private String username; 12 private String password; 13 14 @Override 15 public String toString() { 16 return "User{" + 17 "id=" + id + 18 ", username='" + username + '\'' + 19 ", password='" + password + '\'' + 20 '}'; 21 } 22 23 public Integer getId() { 24 return id; 25 } 26 27 public void setId(Integer id) { 28 this.id = id; 29 } 30 31 public String getUsername() { 32 return username; 33 } 34 35 public void setUsername(String username) { 36 this.username = username; 37 } 38 39 public String getPassword() { 40 return password; 41 } 42 43 public void setPassword(String password) { 44 this.password = password; 45 } 46 47 public User() { 48 } 49 }
5)dao层写接口
1 package com.kude.stu.kudestu.stu.dao; 2 3 import com.kude.stu.kudestu.stu.entity.User; 4 import org.springframework.data.jpa.repository.JpaRepository; 5 import org.springframework.data.jpa.repository.Query; 6 import org.springframework.data.repository.query.Param; 7 import org.springframework.web.bind.annotation.Mapping; 8 9 10 public interface UserDao extends JpaRepository<User,Integer> { 11 /* User findUserById(Integer id);*/ 12 13 /*@Query("select id,username,password from user where username=?1 and password=?2") 14 User login(@Param("username") String username, @Param("password") String password);*/ 15 }
6)service层逻辑处理
1 package com.kude.stu.kudestu.stu.service; 2 3 import com.kude.stu.kudestu.stu.entity.User; 4 5 import java.util.List; 6 import java.util.Optional; 7 8 public interface UserService { 9 //查所有 10 List<User> findAll(); 11 //根据id查 12 Optional<User> findById(int id); 13 //保存用户 14 User save(User user); 15 //修改用户 16 User update(User user); 17 //删除用户 18 void delete(int id); 19 //用户登录 20 User login(String username,String password); 21 }
其实现类
1 package com.kude.stu.kudestu.stu.service; 2 3 import com.kude.stu.kudestu.stu.dao.UserDao; 4 import com.kude.stu.kudestu.stu.entity.User; 5 import org.springframework.beans.factory.annotation.Autowired; 6 import org.springframework.stereotype.Service; 7 8 import javax.transaction.Transactional; 9 import java.util.List; 10 import java.util.Optional; 11 12 13 @Service 14 @Transactional 15 public class UserServiceImpl implements UserService { 16 @Autowired 17 private UserDao userDao; 18 19 @Override 20 public List<User> findAll() { 21 return userDao.findAll(); 22 } 23 24 @Override 25 public Optional<User> findById(int id) { 26 27 return userDao.findById(id); 28 } 29 30 31 @Override 32 public User save(User user) { 33 return userDao.save(user); 34 } 35 36 @Override 37 public User update(User user) { 38 return null; 39 } 40 41 @Override 42 public void delete(int id) { 43 44 } 45 46 @Override 47 public User login(String username, String password) { 48 return null; 49 } 50 }
7)controller层
1 package com.kude.stu.kudestu.stu.controller; 2 3 import com.kude.stu.kudestu.stu.entity.User; 4 import com.kude.stu.kudestu.stu.service.UserService; 5 import org.springframework.beans.factory.annotation.Autowired; 6 import org.springframework.web.bind.annotation.RequestMapping; 7 import org.springframework.web.bind.annotation.RequestMethod; 8 import org.springframework.web.bind.annotation.RestController; 9 10 import java.util.List; 11 import java.util.Optional; 12 13 @RestController 14 @RequestMapping("/user") 15 public class UserController { 16 @Autowired 17 private UserService userService; 18 19 /** 20 * 查所有用户 21 */ 22 @RequestMapping(value = "/findAll",method = RequestMethod.POST) 23 public List<User> findAll(){ 24 return userService.findAll(); 25 } 26 27 /** 28 * 根据id查用户 29 * @param id 30 * @return 31 */ 32 @RequestMapping("/query") 33 public Optional<User> findById(int id){ 34 return userService.findById(id); 35 } 36 37 /** 38 *注册用户 39 * @param user 40 * @return 41 */ 42 @RequestMapping(value = "/reg",method = RequestMethod.POST) 43 public User save(User user){ 44 return userService.save(user); 45 } 46 47 /** 48 * 修改用户 49 * @param user 50 * @return 51 */ 52 53 public User update(User user){ 54 return userService.update(user); 55 } 56 }