使用Mybatis的好处
mybatis是为了简化jdbc而开发的框架,目的是为了让开发人员只关注于sql的编写,对于jdbc的其它步骤可以交给框架自动完成。
首先回忆下jdbc连接mysql的过程:
public static void main(String[] args) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/learn", "root", "123456");
PreparedStatement statement = connection.prepareStatement("select * from demo");
ResultSet res = statement.executeQuery();
while (res.next()) {
int id = res.getInt("id");
String name = res.getString("name");
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
原生的jdbc我们可以看到有两个问题:
1、有和业务无关的重复代码。每次的连接操作并不是我们想要的,至少可以通过一个方法将这些和业务无关的代码封装起来,重复使用,我们也并不是很关心连接的建立和关闭
2、结果集的解析。通过jdbc查询出来的结果为ResultSet对象,这个对象看起来并不完美,至少还要去解析对象属性才能得到想要的结果。
这时候mybatis的优势就出现了,使用mybatis,我们不需要自己去实现连接的建立和关闭,查询出来的结果直接就是表对象的映射。
mybatis核心思想
动态***模式是mybatis的主要实现方式。通过***模式,我们只需要写好sql语句,mybatis通过***将jdbc需要的其它步骤***实现,而且返回的结果集为我们指定的pojo类对象。
效果类似于下图: