Springboot2入门阶段一

Springboot2

1.使用maven构建项目

IDEA新建一个maven项目,创建好在pom.xml中添加依赖:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.elite</groupId>
    <artifactId>springboot-demo1</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.1.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
</project>

App启动类:

package com.elite.demo1;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class App  {
    public static void main(String[] args) {
        SpringApplication.run(App.class,args);
    }

    //
    @GetMapping("/hello")
    public String hello(){
        return "hello,springboot!";
    }
}

访问结果如:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eOKbSWgq-1595723065858)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200725082214695.png)]

快速入门的demo就完成了!

2.自动配置父类依赖

  • spring-boot-starter-parent 依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.3.1.RELEASE</version>
  </parent>
  <artifactId>spring-boot-starter-parent</artifactId>
  <packaging>pom</packaging>
  <name>spring-boot-starter-parent</name>
  <description>Parent pom providing dependency and plugin management for applications built with Maven</description>
  
 

  <build>
    <resources>
      <resource>
        <directory>${basedir}/src/main/resources</directory>
        <filtering>true</filtering>
        <includes>
          <include>**/application*.yml</include>
          <include>**/application*.yaml</include>
          <include>**/application*.properties</include>
        </includes>
      </resource>
      <resource>
        <directory>${basedir}/src/main/resources</directory>
        <excludes>
          <exclude>**/application*.yml</exclude>
          <exclude>**/application*.yaml</exclude>
          <exclude>**/application*.properties</exclude>
        </excludes>
      </resource>
    </resources>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.jetbrains.kotlin</groupId>
          <artifactId>kotlin-maven-plugin</artifactId>
          <version>${kotlin.version}</version>
          <configuration>
            <jvmTarget>${java.version}</jvmTarget>
            <javaParameters>true</javaParameters>
          </configuration>
      
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
            <parameters>true</parameters>
          </configuration>
        </plugin>
        <plugin>
</project>
  • 配置文件位置
  1. 当前项目根目录下的config下
  2. 当前项目的根目录下
  3. resources目录下的config目录下
  4. resources目录下

注意:以上位置的优先级一次降低

  • 配置文件方式
  1. .xml文件方式
  2. .yml方式

3.属性注入

1.spring注入的方式

application.properties

server.port=8081

book.name=java
book.author=javaer
book.id=1

bookcontroller

package com.elite.demo1.controller;

import com.elite.demo1.Book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class BookController {
    @Autowired
    Book book;

    @GetMapping("/book")
        public Book book(){
         return book;
        }
}

访问:http://localhost:8081/book可以看到注入的属性值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2JwJDxZU-1595723065865)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200725092535826.png)]

2.springboot的安全注入

book.name=springboot
book.author=javaer
book.id=2

book对象

package com.elite.demo1.domain;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Component
@PropertySource("classpath:book.properties")
@ConfigurationProperties(prefix ="book")
public class Book {
    private Long id;
    private String name;
    private String author;

   //省略set get 方法
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bJwrsuDu-1595723065867)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200725094817000.png)]

3.yml注入

application.yml配置文件

my:
  servers:
    - dev.example.com
    - another.example.com

MyTestConfig对象

package com.elite.demo1.domain;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

@ConfigurationProperties(prefix = "my")
@Component
public class MyTestConfig {

    private List<String> servers = new ArrayList<>();

    public List<String> getServers() {
        return servers;
    }

    public void setServers(List<String> servers) {
        this.servers = servers;
    }
}

访问:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8az3GKsq-1595723065868)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200725095732417.png)]

4.自定义starter

1.建立自己properties类

package com.elite.starter;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix="elite")
public class HelloProperties {
    //默认配置属性
    private static final String DEFAULT_NAME ="springboot";
    private static final String DEFAULT_MSG="javaer";
    private String name = DEFAULT_NAME;
    private String msg = DEFAULT_MSG;

    public String getName() {
        return name;
    }

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

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }
}

2.建立服务类

package com.elite.starter;

public class HelloService {
    private String name;
    private  String msg;
   public String sayHello(){
       return name + " say " + msg + "!";
   }
    public String getName() {
        return name;
    }

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

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }
}

3.自动配置类

package com.elite.starter;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableMBeanExport;

@Configuration
@EnableConfigurationProperties(HelloProperties.class)
@ConditionalOnClass(HelloService.class)
public class HelloServiceAutoConfiguration {

    @Autowired
    HelloProperties helloProperties;

    @Bean
    HelloService helloService(){
        HelloService helloService = new HelloService();
        helloService.setName(helloProperties.getName());
        helloService.setMsg(helloProperties.getMsg());
        return helloService;
    }

}

4.建立一个spring.factories

org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.elite.starter.HelloServiceAutoConfiguration

5.安装

使用maven install打包

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nC601pAI-1595723065871)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200725105144668.png)]

6.测试

1.添加自己的依赖
  <dependency>
            <groupId>com.elite</groupId>
            <artifactId>mystarter</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
2.建立一个hellocontroller
package com.elite.demo1.controller;

import com.elite.starter.HelloService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @Autowired
    HelloService helloService;

    @RequestMapping("/sayhello")
    public String sayHello(){
        return helloService.sayHello();
    }
}
3.访问测试

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2nuONRqP-1595723065873)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200725105826413.png)]

5.数据访问

1.jdbctemplate

  • 新建一张user表**

    create table user(
     id int not null primary key auto_increment,
     username varchar(20),
     age int,
     address varchar(255)
    )engine=innodb;
    
    insert into user(username,age,address)values('a',12,'beijing');
    insert into user (username,age,address)values('b',13,'shanghai');
    insert into user (username,age,address)values('c',14,'shenzhen');
    
  • 引入数据源druid以及mysql驱动

     <!--引入数据源druid依赖-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>1.1.23</version>
            </dependency>
            <!--引入mysql驱动-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.49</version>
                <scope>runtime</scope>
            </dependency>
               <!-- jdbc依赖 -->
           
         <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-jdbc</artifactId>
            </dependency>
     </dependencies>
  • 配置数据库连接

    server.port=8081
    spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    spring.datasource.username=root
    spring.datasource.password=123456
    spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8
    

    查询结果1:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-70eIpbBw-1595723065875)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200725152831456.png)]

  • 新建一个用户实体类user

package com.elite.demo1.domain;

public class User {
    private Integer id;
    private String username;
    private Integer age;
    private String address;
    //省略set get方法
}
  • userservice类

    package com.elite.demo1.service;
    
    import com.elite.demo1.domain.User;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.jdbc.core.BeanPropertyRowMapper;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.jdbc.core.PreparedStatementCreator;
    import org.springframework.jdbc.core.RowMapper;
    import org.springframework.jdbc.support.GeneratedKeyHolder;
    import org.springframework.jdbc.support.KeyHolder;
    import org.springframework.stereotype.Service;
    
    import java.sql.*;
    import java.util.List;
    
    @Service
    public class UserService {
    
        @Autowired
        JdbcTemplate jdbcTemplate;
    
        /**
         * 添加用户
         */
        public int addUser(User user){
            KeyHolder keyHolder = new GeneratedKeyHolder();
            int update = jdbcTemplate.update(new PreparedStatementCreator() {
                @Override
                public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
                    PreparedStatement ps = connection.prepareStatement("insert into user " +
                            "(username,age,address)values(?,?,?);", Statement.RETURN_GENERATED_KEYS);
                    ps.setString(1,user.getUsername());
                    ps.setInt(2,user.getAge());
                    ps.setString(3,user.getAddress());
                    return ps;
                }
    
            },keyHolder);
            user.setId((int) keyHolder.getKey().longValue());
            System.out.println(user);
            return update;
        }
        /**
         * 删除用户
         */
        public int delUserById(Integer id){
            return jdbcTemplate.update("delete from user where id = ?",id);
        }
        /**
         * 更改
         */
        public int updateUser(User user){
            return jdbcTemplate.update("update user set username=?,age = ? ,address=? where " +
                    "id = ?",user.getUsername(),user.getAge(),user.getAddress(),user.getId());
        }
        /**
         * 查询用户
         *
         */
        public List<User> getAllUser(){
            return jdbcTemplate.query("select *from user", new RowMapper<User>() {
                @Override
                public User mapRow(ResultSet resultSet, int i) throws SQLException {
                    String username = resultSet.getString("username");
                    Integer age = resultSet.getInt("age");
                    String address = resultSet.getString("address");
                    Integer id = resultSet.getInt("id");
                    User user = new User();
                    user.setId(id);
                    user.setUsername(username);
                    user.setAge(age);
                    user.setAddress(address);
                    return user;
                }
            });
        }
        /**
         * 查询2
         */
        public List<User> getUserList(){
            return jdbcTemplate.query("select * from user",new BeanPropertyRowMapper<>(User.class));
        }
    }
    
  • usercontroller类

    package com.elite.demo1.controller;
    
    import com.elite.demo1.domain.User;
    import com.elite.demo1.service.UserService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    
    import javax.swing.*;
    import java.util.List;
    
    @RestController
    public class UserController {
    
        @Autowired
        UserService userService;
    
        /**
         * 查询用户1
         * @return
         */
        @GetMapping("getUserList1")
        public List<User> getUserList1(){
            return userService.getAllUser();
        }
    
        /**
         * 查询用户2
         * @return
         */
        @GetMapping("getUserList2")
        public List<User> getUserList2(){
            return userService.getUserList();
        }
    
        /**
         * 删除用户
         * @param id
         * @return
         */
        @RequestMapping("delUserById")
        public List<User> delUserById(@RequestParam("id") Integer id){
            int i = userService.delUserById(id);
            return   userService.getUserList();
        }
    
        /**
         * 增加用户
         * @param username
         * @param age
         * @param address
         * @return
         */
        @RequestMapping("addUser")
        public List<User> delUserById(@RequestParam("username") String  username,
                                      @RequestParam("age") Integer age,
                                      @RequestParam("address") String address){
            User user = new User();
            user.setUsername(username);
            user.setAge(age);
            user.setAddress(address);
            userService.addUser(user);
            return   userService.getUserList();
        }
    
        @RequestMapping("updateUser")
        public List<User> updateUser(@RequestParam("id") Integer  id,
                                     @RequestParam("username") String  username,
                                      @RequestParam("age") Integer age,
                                      @RequestParam("address") String address){
            User user = new User();
            user.setId(id);
            user.setUsername(username);
            user.setAge(age);
            user.setAddress(address);
            userService.updateUser(user);
            return   userService.getUserList();
        }
    
    }
    

    启动项目进行访问

    查询结果2 http://localhost:8081/getUserList2[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gRNK6zYn-1595723065877)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200725152859927.png)]

删除用户:http://localhost:8081/delUserById?id=3

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XPX11T9S-1595723065880)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200725153101126.png)]

添加用户:http://localhost:8081/addUser?username=d&age=15&address=hangzhou[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hiEdhpbU-1595723065881)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200725153222586.png)]

修改用户:http://localhost:8081/updateUser?id=1&username=aa&age=15&address=hangzhou

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eHEAcGES-1595723065884)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200725153649497.png)]

2.mybatis

  • 引入mybatis依赖

    <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>2.1.3</version>
            </dependency>
  1. 基于mapper注解实现
    package com.elite.demo1.mappers;
    
    import com.elite.demo1.domain.User;
    import org.apache.ibatis.annotations.*;
    
    import java.util.List;
    
    
    public interface UserMapper {
    
        @Select("select * from user")
        List<User> getAllUsers();
    
        @Results({@Result(property = "id" ,column = "id"),
                 @Result(property = "username",column = "u"),
                 @Result(property = "age",column = "age"),
                 @Result(property = "address",column = "a")})
        @Select("select id as id,username as u ,age as age,address as a from user where id=#{id}")
        User getUserByID(Integer id);
    
        /**
         * 按用户名模糊查询
         */
        @Select("select * from user where username like concat('%',#{name},'%')"
        )
        List<User> getUserByName(String name);
    
        /**
         * 插入用户
         */
        @Insert({"insert into user(username,age,address)values(#{username},#{age},#{address})"})
        @SelectKey(statement = "select last_insert_id()",keyProperty = "id",before = false,resultType = Integer.class)
        Integer addUser(User user);
    
        /**
         * 更新用户
         */
        @Update("update user set username=#{username},age=#{age},address=#{address} where id=#{id}")
        Integer updateUserById(User user);
        /**
         * 删除用户
         */
        @Delete("delete from user where id=#{id}")
        Integer delUserById(Integer id);
    }
    

    UserMapperController

    package com.elite.demo1.controller;
    
    import com.elite.demo1.domain.User;
    import com.elite.demo1.mappers.UserMapper;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    
    import javax.annotation.Resource;
    import java.util.List;
    
    @RestController
    public class UserMapperController {
    
        @Resource
        UserMapper userMapper;
    
        /**
         * 查询用户通过id
         * @return
         */
        @GetMapping("getUserList")
        public List<User> getUserList1(){
            return userMapper.getAllUsers();
        }
    
        /**
         * 通过id查询用户
         * @return
         */
        @GetMapping("getUserById")
        public User getUserList2(@RequestParam("id") Integer id){
            return userMapper.getUserByID(id);
        }
    
        /**
         * 通过用户名模糊查询
         * @param name
         * @return
         */
        @RequestMapping("getUserByName")
        public List<User> delUserById(@RequestParam("name") String name){
            return   userMapper.getUserByName(name);
        }
    
        /**
         * 增加用户
         * @param username
         * @param age
         * @param address
         * @return
         */
        @RequestMapping("addUserByMapper")
        public List<User> delUserById(@RequestParam("username") String  username,
                                      @RequestParam("age") Integer age,
                                      @RequestParam("address") String address){
            User user = new User();
            user.setUsername(username);
            user.setAge(age);
            user.setAddress(address);
            userMapper.addUser(user);
            return   userMapper.getUserByName(username);
        }
    
        @RequestMapping("updateUserByMapper")
        public User updateUser(@RequestParam("id") Integer  id,
                                     @RequestParam("username") String  username,
                                     @RequestParam("age") Integer age,
                                     @RequestParam("address") String address){
            User user = new User();
            user.setId(id);
            user.setUsername(username);
            user.setAge(age);
            user.setAddress(address);
            userMapper.updateUserById(user);
            return   userMapper.getUserByID(id);
        }
        /**
         * 删除用户
         */
        /**
         * 通过id查询用户
         * @return
         */
        @GetMapping("delUserByIdByMapper")
            public Integer delUserById(@RequestParam("id") Integer id){
            return userMapper.delUserById(id);
    
        }
    
    }
    

    测试:修改用戶

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UcrAr48N-1595723065886)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200726072056311.png)]

    添加用戶

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pzzheHyM-1595723065888)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200726072224804.png)]

    查询用户

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u4GjkKVI-1595723065890)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200726072422855.png)]

    刪除用戶

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-87BOpB5A-1595723065891)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200726072519621.png)]

  2. 基于xml配置
    xml的位置放置问题:
     <build>
            <resources>
                <resource>
                    <directory>src/main/java</directory>
                    <includes>**/*.xml</includes>
                </resource>
                <resource>
                    <directory>src/main/resources</directory>
                </resource>
            </resources>
        </build>
    #mybatis的位置
    mybatis.mapper-locations=classpath:mappers/UserMapper.xml
    

    我这里是放在resource下:UserXmlMapper.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.elite.demo1.mappers.UserXmlMapper">
         <select id="getUserById" parameterType="java.lang.Integer" resultType="com.elite.demo1.domain.User">
             select * from user where id=#{id}
         </select>
         <select id="getUserList" resultType="com.elite.demo1.domain.User">
             select * from user
         </select>
        <insert id="addUser" parameterType="com.elite.demo1.domain.User">
            insert into user(username,age,address)values (#{username},#{age},#{address})
        </insert>
        <update id="updateUser" parameterType="com.elite.demo1.domain.User">
            update user set username=#{username},
                            age = #{age},
                            address = #{address}
                            where id = #{id}
        </update>
        <delete id="delUserById" parameterType="java.lang.Integer">
            delete from user where id=#{id}
        </delete>
    </mapper>

    还得书写一个接口类:

    package com.elite.demo1.mappers;
    
    import com.elite.demo1.domain.User;
    
    import java.util.List;
    
    public interface UserXmlMapper {
    
      public User getUserById(Integer id);
    
      public List<User> getUserList();
    
      public void addUser(User user);
    
      public void updateUser(User user);
    
      public void delUserById(Integer id);
    
    }
    

    需要注意:接口的名称和xml名称一致,接口方法名和xml的标签的id必须一致。

​ UserXmlMapperController类

package com.elite.demo1.controller;

import com.elite.demo1.domain.User;
import com.elite.demo1.mappers.UserXmlMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

@RestController
public class UserXmlMapperController {

    @Resource
    UserXmlMapper userXmlMapper;

    /**
     * 查询用户
     */
    @GetMapping("/getUserByXmlMapper")
    public User getUserByXmlMapper(@RequestParam("id") Integer id){
        return userXmlMapper.getUserById(id);
    }

    /**
     * 查询用户
     */
    @GetMapping("/getUserListByXmlMapper")
    public List<User> getUserListByXmlMapper(){
        return userXmlMapper.getUserList();
    }

    /**
     * 增加用户
     * @param username
     * @param age
     * @param address
     * @return
     */
    @GetMapping("addUserByXmlMapper")
    public List<User> addUserByXmlMapper(@RequestParam("username") String  username,
                                  @RequestParam("age") Integer age,
                                  @RequestParam("address") String address){
        User user = new User();
        user.setUsername(username);
        user.setAge(age);
        user.setAddress(address);
        userXmlMapper.addUser(user);
        return  userXmlMapper.getUserList() ;
    }
    @GetMapping("updateUserByXmlMapper")
    public User updateUser(@RequestParam("id") Integer  id,
                           @RequestParam("username") String  username,
                           @RequestParam("age") Integer age,
                           @RequestParam("address") String address){
        User user = new User();
        user.setId(id);
        user.setUsername(username);
        user.setAge(age);
        user.setAddress(address);
        userXmlMapper.updateUser(user);
        return   userXmlMapper.getUserById(id);
    }
    /**
     * 删除用户
     */
    /**
     * 通过id查询用户
     * @return
     */
    @GetMapping("delUserByIdByXmlMapper")
    public void delUserById(@RequestParam("id") Integer id){
         userXmlMapper.delUserById(id);
    }
}

测试:

查询用户:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bAJb0Cz3-1595723065894)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200726075711924.png)]

添加用户:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qExAN6mQ-1595723065897)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200726075617867.png)]

修改用户

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C8Sey3uY-1595723065899)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200726080228891.png)]

删除用户:
(img-bAJb0Cz3-1595723065894)]

添加用户:

[外链图片转存中…(img-qExAN6mQ-1595723065897)]

修改用户

[外链图片转存中…(img-C8Sey3uY-1595723065899)]

删除用户:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QGxEIUkJ-1595723065901)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200726080521386.png)]
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小刘同学要加油呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值