初识MyBatis——构建第一个MyBatis工程

本文介绍了MyBatis的基本概念和优势,回顾了JDBC的问题。通过创建Maven工程,添加依赖,编写User实体类,实现UserMapper接口及映射文件,配置SqlMapConfig.xml,最后编写测试类,逐步展示了如何搭建MyBatis环境。总结了环境搭建的步骤和注意事项,强调了MyBatis简化持久层操作的特性。
摘要由CSDN通过智能技术生成

1. 什么是MyBatis

        MyBatis是一个基于java的持久层框架,它的底层封装了jdbc,使我们不用与jdbc api打交道,就可以完成数据库持久层的操作。使用MyBatis框架,开发者只需要关注sql语句本身,不必像传统jdbc编程那样,花费大量时间处理加载驱动、创建连接、创建statement、执行查询、遍历结果集、释放资源等一系列重复步骤。

        MyBatis采用ORM思想(object   relational   mapping  对象关系映射),解决实体和数据库之间的映射问题。

           * O:面向对象领域的Object(JavaBean对象)

           * R:关系数据库领域的Relational(表的结构)

           * M:映射Mapping(XML的配置文件)

        MyBatis通过xml或注解的方式将要执行的各种sql配置起来,并通过MyBatis框架执行该sql语句,将结果映射成java对象返回。

2. JDBC程序回顾

        为了便于阅读和理解,此处对jdbc查询数据库表数据的操作进行回顾

    public static void main(String[] args) {
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try{
            // 加载数据库驱动
            Class.forName("com.mysql.jdbc.Driver");
            // 通过驱动管理类获取数据库连接
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8","root", "root");
            //定义 sql 语句 ?表示占位符
            String sql = "select * from user where username = ?";
            //获取预处理 statement
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1, "张三");
            // 查询数据库,获取结果集
            resultSet = preparedStatement.executeQuery();
            //遍历结果集
            while(resultSet.next()){
                System.out.println(resultSet.getString("id")+resultSet.getString("username"));
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            //释放资源
            if(resultSet!=null){
                try {
                    resultSet.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(preparedStatement!=null){
                try {
                    preparedStatement.close();
                } catch (SQLException e) {
                    e.printS
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值