zoukankan      html  css  js  c++  java
  • MyBatis crud操作

    Test2.java

    package com.mycom.mybatis_1.crud;
    
    import java.util.List;
    
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.junit.Test;
    
    import com.mycom.mybatis_1.bean.User;
    import com.mycom.mybatis_1.util.MyBatisUtils;
    
    public class Test2 {
        
        @Test
        public void testAdd(){
            SqlSessionFactory factory = MyBatisUtils.getFactory();
            //默认是手动提交的
            SqlSession session = factory.openSession();
            
            String statement = "com.mycom.mybatis_1.bean.userMapper.addUser";
            int ins = session.insert(statement, new User(-1,"KK",23, "男"));
            //提交
            session.commit();
            session.close();
            
            System.out.println(ins);
        }
        
        @Test
        public void testUpd(){
            SqlSessionFactory factory = MyBatisUtils.getFactory();
            //默认是手动提交的
    //        SqlSession session = factory.openSession();
    //        
    //        String statement = "com.mycom.mybatis_1.bean.userMapper.updUser";
    //        int ins = session.update(statement, new User(4,"KK444",27));
    //        //提交
    //        session.commit();
            
            //默认是自动提交的
            SqlSession session = factory.openSession(true);
            
            String statement = "com.mycom.mybatis_1.bean.userMapper.updUser";
            int upd = session.update(statement, new User(4,"KK444",28, "男"));
            session.close();
            System.out.println(upd);
        }
        
        @Test
        public void testDel(){
            SqlSessionFactory factory = MyBatisUtils.getFactory();
            //默认是自动提交的
            SqlSession session = factory.openSession(true);
            
            String statement = "com.mycom.mybatis_1.bean.userMapper.delUser";
            int del = session.delete(statement, 4);
            session.close();
            System.out.println(del);
        }
        
        @Test
        public void testgetUser(){
            SqlSessionFactory factory = MyBatisUtils.getFactory();
            //默认是自动提交的
            SqlSession session = factory.openSession(true);
            
            String statement = "com.mycom.mybatis_1.bean.userMapper.getUser";
            User user = session.selectOne(statement, 1);
            session.close();
            System.out.println(user);
        }
        
        @Test
        public void testgetAll(){
            SqlSessionFactory factory = MyBatisUtils.getFactory();
            //默认是自动提交的
            SqlSession session = factory.openSession(true);
            
            String statement = "com.mycom.mybatis_1.bean.userMapper.getAllUsers";
            List<User> list = session.selectList(statement);
            session.close();
            System.out.println(list);
        }
    
    }
    MyBatisUtils.java
    package com.mycom.mybatis_1.util;
    
    import java.io.InputStream;
    
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    import com.mycom.mybatis_1.select.Test1;
    
    public class MyBatisUtils {
        
        public static SqlSessionFactory getFactory(){
            String resource = "conf.xml";
            InputStream is = Test1.class.getClassLoader().getResourceAsStream(resource);
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
            return factory;
        }
    
    }
  • 相关阅读:
    让一个 csproj 项目指定多个开发框架
    推荐近乎免费的调试神器——OzCode
    再也不用克隆多个仓库啦!git worktree 一个 git 仓库可以连接多个工作目录
    .NET Core 和 .NET Framework 中的 MEF2
    将 WPF、UWP 以及其他各种类型的旧样式的 csproj 文件迁移成新样式的 csproj 文件
    .NET 中的轻量级线程安全
    卡诺模型(KANO Model)
    C#/.NET 匿名函数会捕获变量,并延长对象的生命周期
    迫不及待地体验了一把 C#8.0 中的可空引用类型(Nullable Reference)
    异步任务中的重新进入(Reentrancy)
  • 原文地址:https://www.cnblogs.com/mingforyou/p/5341284.html
Copyright © 2011-2022 走看看