public static void main(String[] args) { Connection connetion = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; try{ //加载数据库驱动 Class.forName("com.mysql.jdbc.Driver"); connetion = DriverManager.getConnetion("jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8","root","root"); //定义SQL语句 String sql = "Select * from user where username = ?"; //获取预处理statement preparedStatement = connection.preparedStatement(sql); preparedStatement.setString(1,"zbc"); resultSet = preparedStatement.executeQuery(); while (resultSet.next()) { int id = resultSet.getInt("id"); String userName = resultSet.getString("username"); //封装 User user = new User(); user.setId(id); user.setUserName(userName) } }catch (Excetption e) { e.printStatckTrace(); } finally { //释放资源 } }
解决方法:通过配置文件解决配置信息硬编码问题
解决方法:通过连接池解决频繁创建释放问题
解决方法:通过配置文件解决SQL语句和参数问题
解决方法:通过反射解决集合
Mybatis是一款优秀的基于ORM的半自动轻量级持久框架,它支持定制化SQL、存储过程以及高级映射。Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。Mybatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO(Plain Old Java Objects,普通老式Java对象)为数据库中的记录。
Hibernate是基于ORM的全自动框架,对象/关系映射能力强,不需要开发人员自己编写SQL语句(同时也不能对SQL语句进行优化);Mybatis是基于ORM半自动的,可以严格的控制SQL执行性能,灵活度高。
Mybatis系列
Mybatis27道经典面试题
Mybatis内容聚合