ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

(二)基于XML映射实现完整数据访问(即完成增删查改)

2022-04-28 21:04:59  阅读:161  来源: 互联网

标签:XML uid user uname 查改 User 增删 public usex


一、用户实体类

package com.fairy.mybatisdemo2.entity;

import java.io.Serializable;

/**
 * 用户实体类
 */
public class User implements Serializable {

    // 字段
    private int uid;
    private String uname;
    private String usex;

    // 访问器
    public int getUid() {
        return uid;
    }

    public void setUid(int uid) {
        this.uid = uid;
    }

    public String getUname() {
        return uname;
    }

    public void setUname(String uname) {
        this.uname = uname;
    }

    public String getSex() {
        return usex;
    }

    public void setSex(String sex) {
        this.usex = sex;
    }

    // 构造器
    public User() {
    }

    public User(int uid, String uname, String sex) {
        this.uid = uid;
        this.uname = uname;
        this.usex = sex;
    }

    // 重写toSering方法

    @Override
    public String toString() {
        return "User{" +
                "uid=" + uid +
                ", uname='" + uname + '\'' +
                ", usex='" + usex + '\'' +
                '}';
    }
}
实体类代码

 

二、定义一个工具类,方便复用,XML映射器UserDao.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.fairy.mybatisdemo2.dao.UserDao">
    <!-- 根据id查询某一条数据 -->
    <select id="findById" resultType="User">
        select
               uid,
               uname,
               usex
        from userinfo
        where uid=#{uid}
    </select>

    <!-- 查询所有数据 -->
    <select id="findAll" resultType="User">
        select
            uid,
            uname,
            usex
        from userinfo
    </select>

    <!-- 模糊查询 -->
    <select id="likeName" resultType="User">
        select
               uid,
               uname,
               usex
        from userinfo
        where uname like '%${uname}%'

    </select>

    <!-- 添加数据 -->
    <insert id="addUser">
        INSERT into userinfo(uid,uname,usex) values(#{uid},#{uname},#{usex})
    </insert>

    <!-- 修改数据 -->
    <update id="updateUser">
        update userinfo
        set uname=#{uname} , usex=#{usex}
        where uid = #{uid}
    </update>

    <!-- 根据id删除数据 -->
    <delete id="deleteUser">
        delete from userinfo
        where uid= #{uid}
    </delete>

</mapper>
工具类代码

 

三、数据访问类UserDao.java:

package com.fairy.mybatisdemo2.dao;

import com.fairy.mybatisdemo2.entity.User;

import java.util.List;

/**
 * 数据访问接口
 */

public interface UserDao {
    /** 根据id查询一条数据 */
    User findById(int id);

    /** 查询全部数据 */
    List<User> findAll();

    /** 模糊查询 */
    List<User> likeName(String name);

    /** 添加数据 */
    int addUser(User user);

    /** 修改数据 */
    int updateUser(User user);

    /** 删除数据 */
    int deleteUser(int uid);
}
dao包代码

 

四、单元测试:

package com.fairy.mybatisdemo2;

import com.fairy.mybatisdemo2.dao.UserDao;
import com.fairy.mybatisdemo2.entity.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

@SpringBootTest
class Mybatisdemo2ApplicationTests {

    @Autowired
    UserDao userDao;

    /**
     * 根据id查询某个数据
     */
    @Test
    public void findByIdTest(){
        System.out.println(userDao.findById(6));
    }

    /**
     * 查询所有的数据
     */
    @Test
    public void findAllTest(){
        System.out.println(userDao.findAll());
    }

    /***
     * 模糊查询
     */
    @Test
    public void likeNameTest(){
        System.out.println(userDao.likeName("tao"));
    }

    /**
     * 添加数据
     */
    @Test
    public void addUserTest(){
        User user = new User();
        user.setUid(9);
        user.setUname("淘淘");
        user.setSex("男");
        System.out.println(userDao.addUser(user));
    }

    /**
     * 修改数据
     */
    @Test
    public void updateUserTest(){
        User user;
        // 首先查询id出来
        user = userDao.findById(7);
        // 然后修改
        user.setUname("桃桃");
        user.setSex("男");
        // 执行方法
        System.out.println(userDao.updateUser(user));

    }

    /**
     * 删除数据
     */
    @Test
    public void deleteUpdateTest(){
        System.out.println(userDao.deleteUser(5));
    }

}
测试类代码

 

五、测试结果:

 

 

标签:XML,uid,user,uname,查改,User,增删,public,usex
来源: https://www.cnblogs.com/TAOTAOS/p/16204485.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有