Mybatis简介:
MyBatis 是一款基于java的持久层框架,IBatis提供的持久层框架包括SQL Maps和Data Access Object(DAO),几乎避免了所有的JDBC连接数据库和操作数据库的代码。
JDBC编程流程:
加载数据库驱动
创建并获取数据库连接
创建jdbc statement 对象
设置SQL语句
设置SQL语句的参数(使用preparedStatement)
通过statement执行SQL并获取结果
对SQL执行结果解析处理
释放资源
代码演示:
package com.sjl;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class ConnJdbc {
public static void main(String[] args) throws Exception {
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.连接数据库
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/xskc?charsetEncoding=utf-8","root","123456");
//3.定义SQL语句操作数据库
String sql = "select * from Student where Sname=?";
//4.获取预处理Statement
PreparedStatement preparedStatement = conn.prepareStatement(sql);
//5.设置参数
preparedStatement.setString(1, "李勇");
//6.SQL查询 存入结果集
ResultSet resultset = preparedStatement.executeQuery();
//7.遍历结果集
while(resultset.next()){
System.out.println(resultset.getString("Sno"));
}
}
}
结果:
JDBC编程存在的问题:
1.在进行JDBC编程时存在硬编码,而且系统不易维护
2.在连接数据库时,存在重复连接,造成资源消耗
Mybatis运行原理
仅仅是将SQL的代码分离出来,在代码修改时,可以直接在XML文件里面修改
Mybatis应用步骤
1.首先导入jar包
2.Mybatis.xml代码
3.编写实体类
public class Flower {
private String username;
private String password;
private String address;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Flower(String username, String password, String address) {
super();
this.username = username;
this.password = password;
this.address = address;
}
public Flower() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return “User [username=” + username + “, password=” + password + “, address=” + address + “]”;
}
}
4.编写Mapper.XML–>注册
5.编写测试类
使用工厂方法