zoukankan      html  css  js  c++  java
  • Mybatis简单的CURD

    1.配置文件下的数据库语句

    <mapper namespace="com.mybatis.dao.EmployeeDao">
     
        <select id="selAll" parameterType="String" resultType="com.mybatis.entity.Employee">
                select * from emp
        </select>
        
        <select id="selOne" parameterType="String" resultType="com.mybatis.entity.Employee">
        select * from emp where id = #{id}
      </select>
    
        <insert id="insertEmp">
            insert into emp values (#{id},#{name},#{gender},#{address})
        </insert>
        
        <update id="updateEmp">
                update emp set name=#{name},address=#{address}
                where id=#{id}
        </update>
        
        <delete id="deleteEmp">
                delete from emp where id = #{id}
        </delete>
    </mapper> 

    2.接口下的方法

    public interface EmployeeDao{
        
        //查询所有  返回是集合 不需要传递参数
            public  List<Employee> selAll();
        //查询单一  返回是对象  需要传递参数
            public Employee selOne(String id);
            
        //新增 不需要返回值,所以用void
            public void insertEmp(Employee emp);
            
            //修改
            public void updateEmp(Employee emp);
            
        //删除,根据id删除
            public void deleteEmp(String id);
    }

    3.实现代码

    public class TestImp {
        
        
        public void wan(){
            
            try {
                
                String resource = "recourse.xml";
                //创建一个sqlSession
                Reader reader;
                reader = Resources.getResourceAsReader(resource);
                
                //创建SqlSessionFactory
                SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
                //通过数据库会话工厂开启跟数据库的一次会话    
                //true表示自动提交,否则需要使用commit方法才会提交,默认false方法
                SqlSession sqlSession = sqlSessionFactory.openSession();
                
                //创建接口对象,是sqlsession对象通过动态代理自动创建
                //通过sqlSession的getMapper拿到接口对象
                EmployeeDao employeeDao = sqlSession.getMapper(EmployeeDao.class);
                System.out.println(employeeDao);
                
                
                //使用创建好的接口对象调用好的接口方法
                Employee emp = employeeDao.selOne("2");
                System.out.println(emp.getName());
                sqlSession.commit();
                
                
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            
        }
    
        public static void main(String[] args) {
            TestImp testImp = new TestImp();
            testImp.wan();
    
        }
    
    }
    //List嵌套返回类型
                List<Employee> list =employeeDao.selAll();
                System.out.println(list.size());
    Employee emp1 = new Employee();
                emp1.setId("4");
                emp1.setName("hello");
                emp1.setGender('1');//char类型用单引号
                emp1.setAddress("印度2");
                employeeDao.insertEmp(emp1);
    Employee emp1 = new Employee();
                emp1.setId("4");
                emp1.setName("hello1");
                emp1.setGender('1');//char类型用单引号
                emp1.setAddress("印度");
                employeeDao.updateEmp(emp1);
    employeeDao.deleteEmp("4");
  • 相关阅读:
    iOS10 的适配问题,你遇到了吗?导航栏标题和返回按钮神奇的消失了
    如何在获取不到第一响应者控件时移除键盘
    类名与字符串的互转
    clang format 官方文档自定义参数介绍(中英文)
    clang format 自定义样式常用参数说明
    Xcode 设置代码不自动换行
    企业项目如何打包成.ipa文件
    多个过渡动画效果
    压栈过渡动画
    底部不规则导航栏2
  • 原文地址:https://www.cnblogs.com/liurg/p/8126292.html
Copyright © 2011-2022 走看看