Mybatis框架学习——03.2CRUD所有代码

03.2CRUD所有代码

1.userDao类

package com.yang.dao;

import com.yang.beans.User;
import org.apache.ibatis.annotations.Select;

import java.util.List;
public interface UserDao {

    /**
     * 查询所有的用户
     */

    List<User> foundAllUsers();
    /**
     * 保存用户
     */
    void saveUser(User user);
    /*
    更新用户
     */
    void updateUser(User user);
    /*
    删除用户根据id
     */
    void deleteUser(Integer userId);
    /*
    查询一个用户根据id
     */
    User selectById(Integer uid);

    /*
    模糊查询
     */
    List<User> selectByName(String name);
    /*
    查询用户的个数
     */
    int selectTotal();
}

2.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.yang.dao.UserDao" >

<!--查询所有的用户-->
    <select id="foundAllUsers" resultType="com.yang.beans.User">

        Select * from user

    </select>
    <!--保存用户-->
<insert id="saveUser" parameterType="com.yang.beans.User">
    insert into user(uname, pwd, pho, age, addr) values (#{uname},#{pwd},#{pho},#{age},#{addr})
</insert>
    <!--更新用户-->
    <update id="updateUser" parameterType="com.yang.beans.User">
        update user set uname=#{uname},pwd=#{pwd},pho=#{pho},addr=#{addr}where id=#{id}
    </update>
    <!--删除用户-->
    <delete id="deleteUser" parameterType="Integer">

        delete from user where id=#{uid}
    </delete>
    <!--查询一个用户根据id-->
    <select id="selectById" parameterType="Integer" resultType="com.yang.beans.User">
        select *from user where id=#{uid}
    </select>

    <!--模糊查询-->

    <select id="selectByName" parameterType="string" resultType="com.yang.beans.User" >

        select * from user where uname like #{uname}
    </select>
    <!--查询用户的个数-->
    <select id="selectTotal" resultType="int">
        select count(id) from user
    </select>
</mapper>

3.test类

import com.yang.beans.User;
import com.yang.dao.UserDao;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class test01 {
    private InputStream in;
    private SqlSessionFactory factory;
    private SqlSession session;
    private UserDao userDao;
    @Before
    public void init(){
        //1.读取配置文件

        try {
            in = Resources.getResourceAsStream("SqlMapConfig.xml");
        } catch (IOException e) {
            e.printStackTrace();
        }

        //2.创建SqlSessionFactory工厂
        SqlSessionFactoryBuilder builder =new SqlSessionFactoryBuilder();
         factory=builder.build(in);
        //3.使用工厂生产SqlSession对象
         session = factory.openSession();
        //4.生产代理
        userDao = session.getMapper(UserDao.class);

    }
    @After
    public void destory(){
        //6.释放资源

        try {
            in.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    @Test
        public void testFindAllUsers() {
        //5.通过对象调用方法
        List<User> users = userDao.foundAllUsers();
        for (User user: users
             ) {
            System.out.println(user);
        }
    }

    @Test
    public void testSaveUser(){
        //5.通过对象调用方法
        User user = new User();
        user.setAddr("12300");
        user.setAge(12);
        user.setPho("15396789456");
        user.setPwd("56456");
        user.setUname("tong");
        userDao.saveUser(user);
        //提交事务
        session.commit();
    }

    @Test
    public void testUpdateUser(){
        //5.通过对象调用方法
        User user = new User();
        user.setId(5);
        user.setAddr("12300");
        user.setAge(12);
        user.setPho("15396789456");
        user.setPwd("56456");
        user.setUname("update");
        userDao.updateUser( user);
        //提交事务
        session.commit();
    }

    @Test
    public void testDeleteUser(){
        //5.通过对象调用方法
        userDao.deleteUser(1);
        //提交事务
        session.commit();
    }

    @Test
    public void testSelectById(){
        //5.通过对象调用方法
        User user = userDao.selectById(2);
        System.out.println(user);

    }

    @Test
    public void testSelectByName(){
        //5.通过对象调用方法 模糊需要提供%号
        List<User> users = userDao.selectByName("%y%");
        for (User user: users
             ) {
            System.out.println(user);
        }
    }

    @Test
    public void testSelectTotal(){

        int i = userDao.selectTotal();
        System.out.println(i);

    }
}

 

posted @ 2019-09-11 09:04  杨小顺  阅读(29)  评论(0)    收藏  举报