zoukankan      html  css  js  c++  java
  • Spring Boot 2.x 使用 jpa 连接 mysql

    在spring boot网站上生成一个项目,如图:

    我使用的是Maven项目,java使用是jdk8(spring boot 2.x必须要jdk8及以上),dependencies分别输入选择 web mysql jpa

    使用eclipse添加项目

    eclipse的maven插件会自动下载依赖包。

    项目加载完成后,新建几个包:

    首先设置resources下的application.properties:

    spring.datasource.url:jdbc:mysql://127.0.0.1:3306/db_springboot?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.username=root
    spring.datasource.password=sa
    spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
    spring.jpa.open-in-view=false

    在entities包中添加实体类:

    @Entity
    @Table(name="tb_user")//表名
    public class User {
    
        @Id
        @GeneratedValue(strategy=GenerationType.IDENTITY)
        private long id;
        @Column(name="name")//对应的列名
        private String name;
        @Column(name="password")//对应的列名
        private String passwd;
        public long getId() {
            return id;
        }
        public void setId(long id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getPasswd() {
            return passwd;
        }
        public void setPasswd(String passwd) {
            this.passwd = passwd;
        }
    }

    在repositories包中添加User仓储接口

    public interface UserRepository extends JpaRepository<User, Long> {
    
        List<User> findUserByName(String name);
    
        User findUserByNameAndPasswd(String name, String password);
    }

    在controllers包中添加UserController

    @RestController
    public class UserController {
    
        @Autowired
        UserRepository userRepository;
        
        @RequestMapping("/users")
        public String findUsers() {
            List<User> users=userRepository.findAll();
            System.out.println("findAll...");
            for (User user : users) {
                System.out.println("name="+user.getName()+"    password="+user.getPasswd());
            }
            
            System.out.println("findUserByName...");
            users=userRepository.findUserByName("aaaa");
            for (User user : users) {
                System.out.println("name="+user.getName()+"    password="+user.getPasswd());
            }
                    
            System.out.println("findUserByNameAndPasswd...");
            User user=userRepository.findUserByNameAndPasswd("aaaa","000000");
            
            System.out.println("name="+user.getName()+"    password="+user.getPasswd());
            
            return "hello all users";
        }
    }

    在SpringBoot2XDemoJpaApplication中运行,结果如下:

    findAll...
    name=aaaa password=123456
    name=bbbb password=654321
    name=aaaa password=000000
    findUserByName...
    name=aaaa password=123456
    name=aaaa password=000000
    findUserByNameAndPasswd...
    name=aaaa password=000000

    额外说明:Repository方法是由一个动词、一个可选的主题(Subject)、关键词By以及一个断言所组成。具体可以参考Spring+in+action (Spring实战 第4版)一书的第11章第3节。

  • 相关阅读:
    pandas isin 和not in
    游戏开发需要学什么?
    打开页面,数字会自增的效果怎么弄?
    jq 导航栏点击添加/删除类(a标签跳转页面)
    bootstrap+jq分页
    2020/12/18
    2020/12/17
    2020/12/16
    2020/12/15
    2020/12/14
  • 原文地址:https://www.cnblogs.com/chensuqian/p/10507833.html
Copyright © 2011-2022 走看看