SpringBoot之Mybatis连接MySQL进行CRUD(注解&配置文件)(简测试版)

来源:互联网 发布:卡乐光电 led 软件 编辑:程序博客网 时间:2024/06/11 20:13

pom.xml中添加依赖

        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>        </dependency>        <dependency>            <groupId>org.projectlombok</groupId>            <artifactId>lombok</artifactId>            <optional>true</optional>        </dependency>        <dependency>            <groupId>org.mybatis.spring.boot</groupId>            <artifactId>mybatis-spring-boot-starter</artifactId>            <version>1.1.1</version>        </dependency>

说是简单测试版,所有的文件都在Application.java中,不适合正经的开发。

在application.properties中配置数据库信息:

spring.datasource.driver-class-name=com.mysql.jdbc.Driver#根据自己环境配置可连接的数据库信息spring.datasource.url=jdbc:mysql://172.16.14.40:3306/springbootspring.datasource.username=devgroupspring.datasource.password=devgroup

sql语句:

drop table if exists car;create table car (    id int(10) auto_increment not null,    username varchar(50) not null,    primary key(id))

注解版

Application.java

package com.zhu;import java.util.Arrays;import java.util.Collection;import java.util.List;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Options;import org.apache.ibatis.annotations.Param;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Update;import org.springframework.boot.CommandLineRunner;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.annotation.Bean;import lombok.AllArgsConstructor;import lombok.Data;import lombok.Getter;import lombok.NoArgsConstructor;import lombok.Setter;import lombok.ToString;@SpringBootApplicationpublic class DemoApplication {    public static void main(String[] args) {        SpringApplication.run(DemoApplication.class, args);    }    @Bean    CommandLineRunner demo(CarMapper carMapper) {        return args -> {            List<Car> cars = Arrays.asList(new Car("zhangsan"), new Car("lisi"), new Car("wangwu"));            cars.forEach(car -> {                carMapper.insert(car);                System.err.println("插入数据:" + car.toString());            });            System.err.println("-----------查询所有的数据-----------------");            carMapper.selectAll().forEach(System.out::println);            System.err.println("----------删除数据---------------");            carMapper.RemoveOne(carMapper.selectAll().size());            System.err.println("----------修改数据---------------");            carMapper.UpdateOne(135,"zhaoliu");        };    }}@Mapperinterface CarMapper {    @Options(useGeneratedKeys = true)    @Insert("insert into car(username) values(#{username})")    void insert(Car car);    @Update("update car set username = #{username} where id = #{id}")    void UpdateOne(@Param("id") int id,@Param("username") String username);    @Insert("delete from car where id = #{id}")    void RemoveOne(int id);    @Select("select * from car")    Collection<Car> selectAll();}@Data@AllArgsConstructor@NoArgsConstructorclass Car {    public Car(String username) {        this.username = username;    }    public Car(Integer id, String username) {        this.id = id;        this.username = username;    }    private int id;    private String username;    @Override    public String toString() {        return "Car [id=" + id + ", username=" + username + "]";    }}

点击run Application:

这里写图片描述

这里写图片描述

配置文件版

src/main/resources/com/zhu/CarMapper.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.zhu.CarMapper">    <select id="searchOne" resultType="com.zhu.Car">        SELECT * FROM car        <where>            <if test="username != null">                username = #{username}            </if>        </where>    </select></mapper>

Application.java

package com.zhu;import java.util.Arrays;import java.util.Collection;import java.util.List;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Options;import org.apache.ibatis.annotations.Param;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Update;import org.springframework.boot.CommandLineRunner;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.annotation.Bean;import lombok.AllArgsConstructor;import lombok.Data;import lombok.Getter;import lombok.NoArgsConstructor;import lombok.Setter;import lombok.ToString;@SpringBootApplicationpublic class DemoApplication {    public static void main(String[] args) {        SpringApplication.run(DemoApplication.class, args);    }    @Bean    CommandLineRunner demo(CarMapper carMapper) {        return args -> {            List<Car> cars = Arrays.asList(new Car("zhangsan"), new Car("lisi"), new Car("wangwu"));            cars.forEach(car -> {                carMapper.insert(car);                System.err.println("插入数据:" + car.toString());            });            System.err.println("-----------查询所有的数据-----------------");            carMapper.selectAll().forEach(System.out::println);            System.err.println("----------删除数据---------------");            carMapper.RemoveOne(carMapper.selectAll().size());            System.err.println("----------修改数据---------------");            carMapper.UpdateOne(135,"zhaoliu");            System.err.println("---------配置文件查询---------------------");            carMapper.searchOne("zhangsan").forEach(System.out::println);        };    }}@Mapperinterface CarMapper {    @Options(useGeneratedKeys = true)    @Insert("insert into car(username) values(#{username})")    void insert(Car car);    @Update("update car set username = #{username} where id = #{id}")    void UpdateOne(@Param("id") int id,@Param("username") String username);    @Insert("delete from car where id = #{id}")    void RemoveOne(int id);    @Select("select * from car")    Collection<Car> selectAll();    Collection<Car> searchOne(@Param("username") String username);}@Data@AllArgsConstructor@NoArgsConstructorclass Car {    public Car(String username) {        this.username = username;    }    public Car(Integer id, String username) {        this.id = id;        this.username = username;    }    private int id;    private String username;    @Override    public String toString() {        return "Car [id=" + id + ", username=" + username + "]";    }}

这里写图片描述

OK

0 0
原创粉丝点击