# 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.