面试—机试:用springboot写出简单的增删改查(controller层,service层,dao层,配置,依赖)

用springboot写出简单的增删改查


框架:springboot
数据源:druid
数据库:mysql

controller层

@Controller
@RequestMapping("/user")
public class UserController {
    
    
    @Autowired
    private UserService userService;

    //增
    @RequestMapping("/insertUser")
    public void insertUser(User user) {
    
    
        userService.insertUser(user);
    }

    //删
    @RequestMapping("/deleteUser")
    public void deleteUser(int id) {
    
    
        userService.deleteUser(id);
    }

    @RequestMapping("/updateUser")
    public void updateUser(User user) {
    
    
        userService.updateUser(user);
    }

    //查
    @RequestMapping("/selectUser")
    @ResponseBody
    public List<User> selectUser() {
    
    
        List<User> users = userService.selectUser();
        return users;
    }
}

service层

public interface UserService {
    
    
    //增
    void insertUser(User user);
    //删
    void deleteUser(int id);
    //改
    void updateUser(User user);
    //查
    List<User> selectUser();
}
@Service
public class UserServiceImpl implements UserService {
    
    
    @Autowired
    private UserDao userDao;

    @Override
    public void insertUser(User user) {
    
    
        userDao.insertUser(user);
    }

    @Override
    public void deleteUser(int id) {
    
    
        userDao.deleteUser(id);
    }

    @Override
    public void updateUser(User user) {
    
    
        userDao.updateUser(user);
    }

    @Override
    public List<User> selectUser() {
    
    
        List<User> users = userDao.selectUser();
        return users;
    }
}

dao层

接口

public interface UserDao {
    
    
    //增
    void insertUser(User user);
    //删
    void deleteUser(int id);
    //改
    void updateUser(User user);
    //查
    List<User> selectUser();
}

UserMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yn.dao.UserDao">  <!--要实现dao接口的全限定名-->
    
    <!--增-->               <!--keyProperty是Java对象的属性名,useGeneratedKeys="true":设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty-->
    <insert id="insertUser" keyProperty="id" useGeneratedKeys="true">    <!--向表中插入自增ID-->
        INSERT INTO USER (NAME,PASSWORD) VALUES (#{name},#{password})
    </insert>

    <!--删-->
    <delete id="deleteUser">
        DELETE FROM USER WHERE id=#{id}
    </delete>

    <!--改-->
    <update id="updateUser">
        update USER
        <set>
            <if test="name != null and name != ''">
                NAME = #{name},
            </if>
            <if test="password != null and password != ''">
                PASSWORD = #{password},
            </if>
        </set>
        WHERE id = #{id}
    </update>

    <!--查-->
    <select id="selectUser" resultType="User">
        SELECT * FROM USER LIMIT 0, 1000
    </select>
    
</mapper>

entity

public class User {
    
    
    private Integer id;
    private String name;
    private String password;

    public User() {
    
    
    }

    public User(Integer id, String name, String password) {
    
    
        this.id = id;
        this.name = name;
        this.password = password;
    }

    public Integer getId() {
    
    
        return id;
    }

    public void setId(Integer id) {
    
    
        this.id = id;
    }

    public String getName() {
    
    
        return name;
    }

    public void setName(String name) {
    
    
        this.name = name;
    }

    public String getPassword() {
    
    
        return password;
    }

    public void setPassword(String password) {
    
    
        this.password = password;
    }

    @Override
    public String toString() {
    
    
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

配置

yml

server:
  port: 9090                #端口号
  servlet:
    context-path: /yn       #项目名


spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver           #数据库驱动
    url:  jdbc:mysql://127.168.17.0:3306/test          #指定mysql数据库中的test子库
    type: com.alibaba.druid.pool.DruidDataSource       #数据源
    username: root                                     #用户名
    password: root                                     #密码

mybatis:
    mapper-locations: classpath:com/yn/mapper/*.xml    #注册映射文件
    type-aliases-package: com.yn.entity                #实体类定义别名
    mvc:                #配置视图解析器
      view:
        prefix: /
        suffix: .jsp

入口类扫描dao

//扫描dao
@MapperScan("com.yn.dao")    
@SpringBootApplication
public class DemoApplication {
    
    

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

}

依赖

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <!--整合mybatis-->
        <!--mybatis和springboot的整合包-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>
        <!--数据源-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.29</version>
        </dependency>
        <!--数据库驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.13</version>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>2.0.2</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

猜你喜欢

转载自blog.csdn.net/qq_45928727/article/details/108277250