标签:statement XML loading amp class 简单 int 维护 dex
回顾传统JDBC的基本操作流程
import java.sql.preparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.junit.Test;
public class TestJdbc {
@Test
public void test() throws ClassNotFoundException, SQLException {
//加载驱动
Class.forName("org.gjt.mm.mysql.Driver");
//获取连接
String url = "jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=utf8";
String username = "root";
String pwd = "root";
Connection conn = DriverManager.getConnection(url, username, pwd);
//执行sql
String sql = "select * from user where userid = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
//结果迭代
while(rs.next()) {
System.out.println(rs.getInt("userid"));
System.out.println(rs.getString("username"));
}
//释放资源
rs.close();
pstmt.close();
conn.close();
}
}
以上代码的缺点:
1.获取连接太麻烦,每次都要打开,在关闭,耗费资源太大。后来通过连接池解决。
2.sql语句写在java代码中,并且?部分需要手动设置。
3.查询出来的结果rs到java对象之间的转换需要手动完成。
Mybatis的优势:
- 简单易学、灵活。
- sql和代码的分离,提高了可维护性。
- 提供映射标签,支持对象与数据库的orm字段关系映射。
- 提供对象关系映射标签,支持对象关系组建维护。
- 提供xml标签,支持编写动态sql。
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进。 目前mybatis在github上托管。
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
标签:statement XML loading amp class 简单 int 维护 dex
原文地址:https://www.cnblogs.com/prefordan/p/14657753.html