栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaEE实验二:MyBatis框架应用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaEE实验二:MyBatis框架应用

实验二: MyBatis框架应用

现有一张员工表如下。利用本章所学知识完成员工管理系统。实现如下功能:根据id查询员工信息、新增员工信息、根据id修改员工信息、根据id删除员工信息。

实验步骤
  • 1、创建maven项目,在pom.xml文件中配置依赖:MyBatis、mysql、Junit依赖
  • 2、新建实体类User
  • 3、在resources下建db.properties、mybatis-config.xml文件。注意要在mybatis-config.xml文件中引入db.properties文件
  • 4、在src.main.resources中建包com.dao,包中建UserMapper.xml文件,在文件中绑定接口com.dao.UserDAO,定义查询映射语句。
  • 5、在mybatis-config.xml文件中注册UserMapper.xml文件
  • 6、在Test.java目录中创建测试类。
  • 7、MybatisUtils
  • 8、运行测试方法。

1、创建maven项目,在pom.xml文件中配置依赖:MyBatis、mysql、Junit依赖


    4.0.0
    org.example
    sy2
    1.0-SNAPSHOT
    
        
            org.mybatis
            mybatis
            3.5.2
        
        
            mysql
            mysql-connector-java
            8.0.11
        
        
            junit
            junit
            4.12
            test
        
    
    
        8
        8
    
    
        
            
                src/main/java
                
                    ***.properties
                
                true
            
            
                src/main/resources
                
                    ***.properties
                
                true
            
        
    
    
2、新建实体类User
package com.pojo;
public class Users {
    private Integer uid;
    private String uname;
    private Integer uage;
    private String uposition;
    public Users() {}
    public Users(Integer uid, String uname, Integer uage,String uposition) {
        this.uid = uid;
        this.uname = uname;
        this.uage = uage;
        this.uposition=uposition;
    }
    public Integer getUid() {
        return uid;
    }
    public void setUid(Integer uid) {
        this.uid = uid;
    }
    public String getUname() {
        return uname;
    }
    public void setUname(String uname) {
        this.uname = uname;
    }
    public Integer getUage() {
        return uage;
    }
    public void setUage(Integer uage) {
        this.uage = uage;
    }
    public String getUposition() {
        return uposition;
    }
    public void setUposition(String uposition) {
        this.uposition = uposition;
    }
    @Override
    public String toString() {
        return "Users{" +
                "uid=" + uid +
                ", uname='" + uname + ''' +
                ", uage=" + uage +
                ", uposition='" + uposition + ''' +
                '}';
    }
}
3、在resources下建db.properties、mybatis-config.xml文件。注意要在mybatis-config.xml文件中引入db.properties文件
//db.properties
mysql.driver=com.mysql.cj.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
mysql.username=root
mysql.password=123456
//mybatis-config.xml



    
    
        
            
            
                
                
                
                
            
        
    
    
        
    

4、在src.main.resources中建包com.dao,包中建UserMapper.xml文件,在文件中绑定接口com.dao.UserDAO,定义查询映射语句。
package com.dao;
import com.pojo.Users;
public interface UserDao {
    public Users getUserById();
    int addUser(Users user) ;
    int updateUser(Users user);
    int deleteUser(int id);
}
5、在mybatis-config.xml文件中注册UserMapper.xml文件





    
    
        insert into users(uname,uage,uposition) values (#{uname},#{uage},#{uposition})
    
    
    
        update users
        set uname=#{uname},uage = #{uage},uposition=#{uposition}
        where uid=#{uid};
    
    
    
        delete
        from users
        where uid=#{uid};
    
    

6、在Test.java目录中创建测试类。
package test;

import com.dao.UserMapper;
import com.pojo.Users;
import com.utils.MybatisUtils;
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 java.io.IOException;
import java.io.Reader;
import java.util.List;

public class Test {

    @org.junit.Test
    public void userFindByIdTest() {
        //读取文件名
        String resources = "mybatis-config.xml";
        //创建流
        Reader reader = null;
        try {
            //读取mybatis-config.xml文件内容到reader对象中
            reader = Resources.getResourceAsReader(resources);
        } catch (IOException e) {
            e.printStackTrace();
        }
        //初始化mybatis数据库,创建SqlSessionFactory类的实例
        SqlSessionFactory sqlMapper = new
                SqlSessionFactoryBuilder().build(reader);
        //创建SqlSession实例
        SqlSession session = sqlMapper.openSession();
        //传入参数查询,返回结果
        Users user = session.selectOne("getUserById", 3);
        //输出结果
        System.out.println("工号:"+user.getUid());
        System.out.println("姓名:"+user.getUname());
        System.out.println("年龄:"+user.getUage());
        System.out.println("职位:"+user.getUposition());
        //关闭session
        session.close();
    }
    @org.junit.Test
    public void userAddTest(){
        SqlSession session= MybatisUtils.getSqlsession();
        UserMapper mapper = session.getMapper(UserMapper.class);
        Users u1=new Users();
        u1.setUname("张浩");
        u1.setUage(23);
        u1.setUposition("员工");
        int n= mapper.addUser(u1);
        session.commit();
        if(n>0) System.out.println("ok");
        else System.out.println("error");
        //关闭session
        session.close();
    }
    @org.junit.Test
    public void userUpdateTest(){
        SqlSession session = MybatisUtils.getSqlsession();
        UserMapper mapper = session.getMapper(UserMapper.class);
        Users u2=new Users();
        u2.setUid(6);
        u2.setUname("张豪");
        u2.setUage(50);
        u2.setUposition("总经理");
        int n= mapper.updateUser(u2);
        session.commit();
        if(n>0) System.out.println("ok");
        else System.out.println("error");
        //关闭session
        session.close();
    }
    @org.junit.Test
    public  void userDeleteTest(){
        SqlSession session= MybatisUtils.getSqlsession();
        UserMapper mapper = session.getMapper(UserMapper.class);
        int n= mapper.deleteUser(6);
        session.commit();
        if(n>0) System.out.println("ok");
        else System.out.println("error");
        //关闭session
        session.close();

    }
}
7、MybatisUtils
package com.utils;

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 java.io.IOException;
import java.io.InputStream;

public class MybatisUtils {
    private static SqlSessionFactory sqlSessionFactory;
    static {
    try
    {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    }
    catch(IOException e) {
        e.printStackTrace();
    }
}
    public  static SqlSession getSqlsession(){return  sqlSessionFactory.openSession();}
}
8、运行测试方法。

1.查询

2.新增

3.修改


4.删除


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/930149.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号