1-1 创建简单SpringBoot应用

使用组件 hibernate、mysql、springboot、lombok

步骤:

1、创建项目 example

Springboot官网 -> Quick start -> 输入groupId、artifactId -> 选择需要的组件JPA、Mysql、Jdbc

	<groupId>com.example</groupId>
	<artifactId>ribi</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>ribi</name>

2、项目结构整体

src
    main
        java
            config //配置
            controller //控制层类
            example //实体类
            mapper //持久层
            service //服务层
        resource //资源文件
            

3、编写步骤

只有一个实体类 user

(1)创建表  //字段名一般遵循 aaa_bbb_ccc 的规则

CREATE TABLE `user` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT,
  `user_name` varchar(255) DEFAULT NULL,
  `pass_word` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8

(2)创建实体类对象  //属性名一般遵循 aaaBbbCcc 的规则

如果不标注的情况下,在代码中属性名为 userName 对应表中的 user_name

src/main/java/example/user.java

package com.example.ribi.example;

import lombok.*;
import javax.persistence.*;

@NoArgsConstructor //无参构造方法
@AllArgsConstructor //全参构造方法
@ToString //增加toString方法
@Data //标注其为Data 对应增加每个属性的getter/setter方法和builder方法
@Entity //标注其为实体类
public class User {
    @Id //标注为Id
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private Long userId;

    private String userName;

    private String passWord;
}

(3) 创建repository层的User对象 提供对数据库表的操作

src/main/java/service/userRepository.java

package com.example.ribi.mapper;

import com.example.ribi.example.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.CrudRepository;

import java.util.List;

//JpaRepository<实体类,主键> 可以提供基础的方法 例如findAll() save() ...
//CrudRepository<实体类,主键> 可以提供自定义的方法 需要遵循峰谷式的规则、支持find、delete、update、order、distinct等关键字段
public interface UserRepository extends JpaRepository<User,Long>,CrudRepository<User,Long> {
    //crud
    public List<User> findByUserName(String userName);
}

(4) 创建service层的User对象 

src/main/java/service/userServiceImpl

package com.example.ribi.service;

import com.example.ribi.example.User;
import com.example.ribi.mapper.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;

public class UserServiceImpl {
    @Autowired //自动注入
    UserRepository userRepository;

    public List<User> findAll(){
        return userRepository.findAll();
    }

    public User findByUserId(Long userId){
        return userRepository.findById(userId).get();
    }

    public List<User> findByName(String userName){
        return userRepository.findByUserName(userName);
    }


    public boolean delectUser(Long userId){
        try {
            userRepository.deleteById(userId);
            return true;
        }catch (Exception e){
            System.out.println(e);
        }
        return false;
    }

    public boolean addUser(User user){
        try{
           userRepository.save(user);
           return true;
        }catch (Exception e){
            System.out.println(e);
        }
        return false;
    }
}

(5)在 RibiApplication.java中测试

src/main/java/RibiApplication.java

package com.example.ribi;

import com.example.ribi.example.User;
import com.example.ribi.mapper.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@SpringBootApplication
public class RibiApplication implements ApplicationRunner {

    @Autowired
    UserRepository repository;


    public static void main(String[] args) {
        SpringApplication.run(RibiApplication.class, args);
    }


    @Override
    public void run(ApplicationArguments args) throws Exception{
        List<User> u = repository.findByUserName(":name");
        for(User i :u){
            System.out.println(i.toString());
        }

    }
}

-- 部分摘自 极客时间 玩转Spring全家桶 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值