zoukankan      html  css  js  c++  java
  • Spring Boot学习02

    本文在上一篇文章的基础上,继续完成Mybatis的“增、删、改”的操作。

    修改3.3的Mybatis映射文件,添加三个新的sql语句:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
     3 <!--        namespace 所对应的是一个接口的全限定名-->
     4 <mapper namespace="com.example.demo.mapper.IUserMapper">
     5     <select id="getUserById" resultType="com.example.demo.model.Users">
     6         SELECT id,last_name,gender,email FROM tbl_employee WHERE id = #{id}
     7     </select>
     8     <update id="updateUser">
     9         UPDATE tbl_employee set last_name=#{last_name},gender=#{gender},email=#{email}
    10         where id=#{id}
    11     </update>
    12     
    13     <delete id="delUser">
    14         DELETE from tbl_employee where id=#{id}
    15     </delete>
    16 
    17     <insert id="addUser">
    18         INSERT into tbl_employee values(#{id},#{last_name},#{gender},#{email})
    19     </insert>
    20 </mapper>

    修改3.4节的接口文件,增加三个方法:

     1 package com.example.demo.mapper;
     2 
     3 import com.example.demo.model.Users;
     4 import org.springframework.stereotype.Component;
     5 
     6 @Component
     7 public interface IUserMapper {
     8     //查询
     9     public Users getUserById(Integer id);
    10 
    11     //更新
    12     public boolean updateUser(Users user);
    13 
    14     //删除
    15     public boolean delUser(Integer id);
    16 
    17     //新增
    18     public boolean addUser(Users user);
    19 }

    修改第4节的Mybatis接口文件,增加45、75、105行的三个方法,对应映射文件中的更新、删除以及新增操作:

      1 package com.example.demo.service;
      2 import com.example.demo.mapper.IUserMapper;
      3 import org.apache.ibatis.io.Resources;
      4 import org.apache.ibatis.session.SqlSession;
      5 import org.apache.ibatis.session.SqlSessionFactory;
      6 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
      7 import org.springframework.stereotype.Service;
      8 import java.io.IOException;
      9 import java.io.InputStream;
     10 @Service
     11 public class Users {
     12 
     13     public com.example.demo.model.Users getUserById(Integer id) throws IOException {
     14 
     15         // 读取mybatis-config.xml文件
     16         InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
     17 
     18         // 初始化mybatis,创建SqlSessionFactory类的实例
     19         SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
     20 
     21         // 创建Session实例
     22         SqlSession session = sqlSessionFactory.openSession();
     23 
     24         // 操作数据库方法一:获得xml映射文件中定义的操作语句
     25         // com.example.demo.model.Users s = session.selectOne("com.example.demo.mapper.IUserMapper.getUserById", 1);
     26         // 打印Student对象
     27         // System.out.println(s);
     28 
     29         // 操作数据库方法二:获得mapper接口的代理对象
     30         IUserMapper sm = session.getMapper(IUserMapper.class);
     31         // 直接调用接口的方法,查询id为1的Student数据
     32         com.example.demo.model.Users s2 = sm.getUserById(1);
     33         // 打印Peson对象
     34         // System.out.println(s2);
     35 
     36         // 提交事务
     37         session.commit();
     38         // 关闭Session
     39         session.close();
     40 
     41         return s2;
     42         //return userMapper.getUserById(id);
     43     }
     44 
     45     public boolean updateUser(com.example.demo.model.Users user) throws IOException {
     46         // 读取mybatis-config.xml文件
     47         InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
     48 
     49         // 初始化mybatis,创建SqlSessionFactory类的实例
     50         SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
     51 
     52         // 创建Session实例
     53         SqlSession session = sqlSessionFactory.openSession();
     54 
     55         // 操作数据库方法一:获得xml映射文件中定义的操作语句
     56         // com.example.demo.model.Users s = session.selectOne("com.example.demo.mapper.IUserMapper.getUserById", 1);
     57         // 打印Student对象
     58         // System.out.println(s);
     59 
     60         // 操作数据库方法二:获得mapper接口的代理对象
     61         IUserMapper sm = session.getMapper(IUserMapper.class);
     62         // 直接调用接口的方法,查询id为1的Student数据
     63         boolean b = sm.updateUser(user);
     64         // 打印Peson对象
     65         // System.out.println(s2);
     66 
     67         // 提交事务
     68         session.commit();
     69         // 关闭Session
     70         session.close();
     71 
     72         return b;
     73     }
     74 
     75     public boolean delUser(Integer id) throws IOException {
     76         // 读取mybatis-config.xml文件
     77         InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
     78 
     79         // 初始化mybatis,创建SqlSessionFactory类的实例
     80         SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
     81 
     82         // 创建Session实例
     83         SqlSession session = sqlSessionFactory.openSession();
     84 
     85         // 操作数据库方法一:获得xml映射文件中定义的操作语句
     86         // com.example.demo.model.Users s = session.selectOne("com.example.demo.mapper.IUserMapper.getUserById", 1);
     87         // 打印Student对象
     88         // System.out.println(s);
     89 
     90         // 操作数据库方法二:获得mapper接口的代理对象
     91         IUserMapper sm = session.getMapper(IUserMapper.class);
     92         // 直接调用接口的方法,查询id为1的Student数据
     93         boolean b = sm.delUser(1);
     94         // 打印Peson对象
     95         // System.out.println(s2);
     96 
     97         // 提交事务
     98         session.commit();
     99         // 关闭Session
    100         session.close();
    101 
    102         return b;
    103     }
    104 
    105     public boolean addUser(com.example.demo.model.Users user) throws IOException {
    106         // 读取mybatis-config.xml文件
    107         InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
    108 
    109         // 初始化mybatis,创建SqlSessionFactory类的实例
    110         SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    111 
    112         // 创建Session实例
    113         SqlSession session = sqlSessionFactory.openSession();
    114 
    115         // 操作数据库方法一:获得xml映射文件中定义的操作语句
    116         // com.example.demo.model.Users s = session.selectOne("com.example.demo.mapper.IUserMapper.getUserById", 1);
    117         // 打印Student对象
    118         // System.out.println(s);
    119 
    120         // 操作数据库方法二:获得mapper接口的代理对象
    121         IUserMapper sm = session.getMapper(IUserMapper.class);
    122         // 直接调用接口的方法,查询id为1的Student数据
    123         boolean b = sm.addUser(user);
    124         // 打印Peson对象
    125         // System.out.println(s2);
    126 
    127         // 提交事务
    128         session.commit();
    129         // 关闭Session
    130         session.close();
    131 
    132         return b;
    133     }
    134 }

    修改第5节的Controller中的内容,增加三个Action:

     1 package com.example.demo.controller;
     2 
     3 import com.example.demo.model.Users;
     4 import org.springframework.beans.factory.annotation.Autowired;
     5 import org.springframework.web.bind.annotation.PathVariable;
     6 import org.springframework.web.bind.annotation.RequestMapping;
     7 import org.springframework.web.bind.annotation.RestController;
     8 
     9 import java.io.IOException;
    10 
    11 @RestController
    12 public class UserController {
    13 
    14     @Autowired
    15     com.example.demo.service.Users userService;
    16 
    17     @RequestMapping("/user/{id}")
    18     public String getUserById(@PathVariable Integer id) throws IOException {
    19 
    20         com.example.demo.model.Users users = userService.getUserById(id);
    21         return users.getLast_name();
    22     }
    23 
    24     @RequestMapping("/updateuser")
    25     public String updateUser() throws IOException {
    26         Users user = new com.example.demo.model.Users(1,"yangasen",1,"yangasen@hotmial.com");
    27         boolean b = userService.updateUser(user);
    28         return b + "";
    29     }
    30 
    31     @RequestMapping("/deluser/{id}")
    32     public String delUser(@PathVariable Integer id) throws IOException {
    33         boolean b = userService.delUser(id);
    34         return b + "";
    35     }
    36 
    37     @RequestMapping("/newuser")
    38     public String newUser() throws IOException {
    39         Users user = new com.example.demo.model.Users(1,"yangasen",1,"yangasen@hotmial.com");
    40         boolean b = userService.addUser(user);
    41         return b + "";
    42     }
    43 }

    测试:

    更新操作:使用[http://localhost:8080/updateuser]

    删除操作:使用[http://localhost:8080/deluser/1]

    新增操作:使用[http://localhost:8080/newuser]

    Spring Boot + MyBatis连接MySQL数据库的“增删改查”基本操作,已经完成。

  • 相关阅读:
    Java合并png图片
    MiniUi遇到的一个Bug或者说坑,以div里面的内容自适应高度
    Javascript/JQuery遇到的bug
    SQL Server将列以分隔符分割后存到临时表
    Java Miniui实现批量上传文件demo 201906221520
    Java MiniUi datagrid加载数据时,如果使用virtualScroll="true",数据多一点可能就会加载不出来
    Java调用存储过程出现Bug,sql语法错误
    Java的jdbc调用SQL Server存储过程Bug201906131120
    Java的jdbc调用SQL Server存储过程Bug201906131119
    用深度优先搜索(DFS)解决多数图论问题
  • 原文地址:https://www.cnblogs.com/asenyang/p/13667196.html
Copyright © 2011-2022 走看看