# mybatis-learning **Repository Path**: leofee/mybatis-learning ## Basic Information - **Project Name**: mybatis-learning - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-01-14 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mybatis-learning mybatis 是一个 `ORM(Object Relation Mapping)`框架 ### 原生jdbc操作数据库 1. 加载数据库驱动 ```java Class.forName("com.mysql.cj.jdbc.Driver"); ``` 2. 获取数据库连接 ```java Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); ``` 3. 预编译sql,查询,解析结果,关闭数据库连接 ```java PreparedStatement preparedStatement = null; try { // 预编译sql String sql = "select * from `learning`.order where order_code = ?;"; preparedStatement = connection.prepareStatement(sql); // 设置参数 preparedStatement.setString(1, "1"); ResultSet resultSet = preparedStatement.executeQuery(); // 解析结果集 while (resultSet.next()) { Order order = new Order(); String orderCode = resultSet.getString("order_code"); order.setOrderCode(orderCode); order.setOrderId(resultSet.getInt("order_id")); order.setCreateTime(LocalDateTime.ofInstant(new Date(resultSet.getDate("create_time").getTime()).toInstant(), ZoneId.systemDefault())); orderList.add(order); } // 关闭连接 preparedStatement.close(); } catch (SQLException e) { e.printStackTrace(); } finally { if (preparedStatement != null) { try { preparedStatement.close(); } catch (SQLException e) { e.printStackTrace(); } } } try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } return orderList; ``` ### 快速开始 mybatis.xml配置 ```xml ``` ### 技术解析 #### ResultMap 标签 1. `` :如果 ResultMap指定的映射对象没有声明无参构造,则需要在mapper.xml的ResultMap中指定对应的构造方法 ```xml ``` 2.