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

mybatis快速入门

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

mybatis快速入门

mybatis快速入门 1.1 分析jdbc操作
第一步  //加载驱动
第二步  //通过管理驱动获取数据库连接
第三步  //定义sql语句
第四步  //获取statement
第五步  //设置参数
Connection connection=null;
PreparedStatement ps=null;
ResultSet rs = null;
try{
   //加载驱动
    Class.forName("com.mysql.cj.jdbc.Driver");
   //通过驱动获取数据库连接
    connetion=DriverManger.getConnection("jdbc:mysql://localhost:3306/test","root","123456789");
         //定义sql语句
        String sql = "select * from lmonkey_user";
        Statement stat = conn.createStatement();
        ResultSet resultSet = stat.executeQuery(sql);
        //打印
        while (resultSet.next()){
            String id = resultSet.getString("USER_ID");
            String name = resultSet.getString("USER_NAME");
            System.out.println(id + "t"+name);

        }

        conn.close();
        stat.close();
    }
}

分析问题:1、jdbc数据库配置信息存在编码问题;2、频繁创建释放数据库连接;

​ 3、 sql语句和设置参数均出现硬编码问题

问题解决:1,配置文件;连接池 ;2、解决硬编码解决办法使用配置文件

1.2自定持久层框架

思路:使用端:引用自定义持久层框架jar包 -> 配置数据库配置信息和sql配置信息、参数类型,返回值类型

​ sqlMapConfig.xml:存放数据库配置信息

​ mapper.xml:存放SQL配置信息

​ 框架本身:对jdbc代码进行了封装

​ 第一步:加载配置文件,根据配置文件路径加载文件

//编写sqlMapConfig.xml


  

      
      
      
      
  

   


  
//配置Mapper.xml
  

  
      select * from user
  

  
        select * from user
    


2.4 测试用例
//查询用例 
@org.junit.Test
    public void test() throws IOException {
        //解析文件将其转为字节流
        InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
        SqlSessionFactory sessionFactory = new                    SqlSessionFactoryBuilder().build(resourceAsStream);
        SqlSession sqlSession = sessionFactory.openSession();
        //获取需要执行的指令
        List users = sqlSession.selectList("user.findAll");
        for (User user : users) {
            System.out.println(user);
        }
        //关闭资源
        sqlSession.close();
    }

2插入语句#{}用于替换所要插入的值但是名称一定要与User里面的值对应


        insert into user value(#{id},#{username},#{password})
    
@org.junit.Test
    public void test1() throws IOException {
        //解析文件将其转为字节流
        InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
        SqlSessionFactory sessionFactory = new    SqlSessionFactoryBuilder().build(resourceAsStream);
        SqlSession sqlSession = sessionFactory.openSession();
        //获取需要执行的指令
        User user = new User(2,"xiaoyi","root");
        sqlSession.insert("user.insertuser",user);
         //需要提交事务
        sqlSession.commit();
        //关闭资源
        sqlSession.close();
    }

3、修改操作

            update user set  password=#{password} where id = #{id}    
  @org.junit.Test    public void test2() throws IOException {        //解析文件将其转为字节流        InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);        SqlSession sqlSession = sessionFactory.openSession();        //获取需要执行的指令        User user = new User(2,"xiaoyi","123456789");        sqlSession.update("user.updateuser",user);        //需要提交事务        sqlSession.commit();        //关闭资源        sqlSession.close();    }

4、删除操作

           delete from user where id=#{id}    
 @org.junit.Test    public void test3() throws IOException {        //解析文件将其转为字节流        InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);        SqlSession sqlSession = sessionFactory.openSession();        //获取需要执行的指令        sqlSession.delete("user.deleteid",2);        //需要提交事务        sqlSession.commit();        //关闭资源        sqlSession.close();    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/281264.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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