第一种,最原始的方法,直接使用jdbc:
使用jdbc时配置比较简单,我们只需注册驱动,并使用DriverManager的getConnection方法得到一个Connection接口,并通过这个Connection的prepareStatement或createstatement方法操作数据库。
特点,连接简单,写语句麻烦,不断重复写sql语句浪费时间。
createstatement这个方法不用带参数(sql语句),可以在执行时填写。
prepareStatement这个方法要填写sql语句,也能填写?在后期语句中设置?的具体值。
package com.util;
import java.sql.*;
public class mysqlConn {
public static void main(String[] args) {
Connection conn = null;
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/appinfodb";
String username = "root";
String password = "111111";
try {
//加载驱动
Class.forName(driver);
//获得数据库连接
conn = DriverManager.getConnection(url, username, password);
//增加一条记录 sql语句直接带字符串时,字符串加单引号括起来
String insertsql = "insert into dev_user (id,devCode,devName,devPassword) values('3',?,?,?)";
PreparedStatement ps = conn.prepareStatement(insertsql);
ps.setString(1, "dev_zsh");
ps.setString(2, "zsh");
ps.setString(3, "521");
int i = ps.executeUpdate();
System.out.println(i);
//删除一条记录
String delsql = "DELETE FROM dev_user WHERE id = '3'";
PreparedStatement ps2 = conn.prepareStatement(delsql);
int i2 = ps2.executeUpdate();
System.out.println(i2);
//修改一条记录
String Updatesql = "UPDATE dev_user SET devName = 'fnd',devPassword = '1121' WHERE id = '3'";
PreparedStatement ps3 = conn.prepareStatement(Updatesql);
int i3 = ps3.executeUpdate();
System.out.println(i3);
//查询一条记录
String SELECTSQL = "SELECT * FROM dev_user WHERE id = '3'";
PreparedStatement ps4 = conn.prepareStatement(SELECTSQL);
ResultSet rs = ps4.executeQuery();
if (rs.next()) {
System.out.println(rs.getString(2));
}
} catch (Exception E) {
E.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
第二种,使用mybatis:
在新的大型的web项目中,一般通过申明一个接口,并在xml文件中配置这个接口的实现。使用时,可以通过SQLSessionFactory得到一个sqlsession,并生成有这个接口的实例。这是第一种使用mybatis的方法。
如果我们使用mybatis的配置文件中做以下配置:
- 约定好我们配置接口的xml文件在哪,让框架自动帮我们扫描
- 配置一个SQLSessionFactoryBean。
这样我们就不需要自己使用SQLSession来得到接口,只需要直接new接口的实例就可以了。