最极简版本的, 我们这里以mysql为例:
首先要创建maven工程, 需要引入jar包:,这里需要注意, 如果你安装的是mysql最新版本8以上的, 下面有些地方需要更改,具体就是mysql连接的url, 和5版本的不一样,具体解决请自行百度哈.这里只演示mysql5版本的?
依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
第一步, 连接驱动
//连接驱动
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("连接驱动失败!!");
e.printStackTrace();
}
第二步, 获取连接 conn
//创建连接conn
Connection conn = null;
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF8", "root", "root");
} catch (SQLException e) {
System.out.println("创建连接失败!!");
e.printStackTrace();
}
第三步, 获取sql的执行者:
//连接者创建完成之后创建执行者
Statement state = null;
try {
state = conn.createStatement();
} catch (SQLException e) {
System.out.println("创建执行者完成!!");
e.printStackTrace();
}
第四步, 执行sql语句, 这里我写了三个, 分别为查询, 增加, 更新,
//执行者开始执行查询sql语句
ResultSet resultSet = null;
try {
resultSet = state.executeQuery("SELECT * FROM person");
} catch (SQLException e) {
System.out.println(" =sql查询执行失败! ");
e.printStackTrace();
}
if (resultSet != null) {
try {
while (resultSet.next()) {
System.out.println(resultSet.getString(1) + "-----" + resultSet.getString(2) + "-----" + resultSet.getString(3) + "-----" + resultSet.getString(4));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
//执行者开始执行查询sql语句
try {
//boolean execute = state.execute("insert into person (id,address,age,name ) values (null,'河北',28,'王1')"); 如果是插入的话, 这个方法会返回false的,具体看下面截图描述
int execute = state.executeUpdate("insert into person (id,address,age,name ) values (null,'河北',28,'王1')");
System.out.println(" =插入->>> " + execute);
} catch (SQLException e) {
System.out.println(" =执行插入失败! ");
e.printStackTrace();
}
//执行者开始执行查询sql语句
try {
int i = state.executeUpdate("update person set name='王大哥' where id=128");
System.out.println(" =更新->>> "+i );
} catch (SQLException e) {
System.out.println("更新失败!");
e.printStackTrace();
}
上面关于 '插入' 有一个地方有疑问的话: 查询这个地方:http://blog.sina.com.cn/s/blog_963fb3af01013rcs.html
懒得点开的话就看下面截图中的这句话
第五步:处理结果集
其实上面已经处理结果集了啊啊啊啊啊啊
第六步, 关闭所有连接
// 执行完毕之后, 关闭所有连接
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
state.close();
} catch (SQLException e) {
}
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
完事搞定了;下面贴一下
打印结果如下
这是现在表结果:
相关代码:
import java.sql.*;
public class ConnectByJDBC {
public static void main(String[] args) {
//连接驱动
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("连接驱动失败!!");
e.printStackTrace();
}
//创建连接conn
Connection conn = null;
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF8", "root", "root");
} catch (SQLException e) {
System.out.println("创建连接失败!!");
e.printStackTrace();
}
//连接者创建完成之后创建执行者
Statement state = null;
try {
state = conn.createStatement();
} catch (SQLException e) {
System.out.println("创建执行者完成!!");
e.printStackTrace();
}
//执行者开始执行查询sql语句
ResultSet resultSet = null;
try {
resultSet = state.executeQuery("SELECT * FROM person");
} catch (SQLException e) {
System.out.println(" =sql查询执行失败! ");
e.printStackTrace();
}
if (resultSet != null) {
try {
while (resultSet.next()) {
System.out.println(resultSet.getString(1) + "-----" + resultSet.getString(2) + "-----" + resultSet.getString(3) + "-----" + resultSet.getString(4));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
//执行者开始执行查询sql语句
try {
//boolean execute = state.execute("insert into person (id,address,age,name ) values (null,'河北',28,'王1')"); 如果是插入的话, 这个方法会返回false的,
int execute = state.executeUpdate("insert into person (id,address,age,name ) values (null,'河北',28,'王1')");
System.out.println(" =插入->>> " + execute);
} catch (SQLException e) {
System.out.println(" =执行插入失败! ");
e.printStackTrace();
}
//执行者开始执行查询sql语句
try {
int i = state.executeUpdate("update person set name='王大哥' where id=128");
System.out.println(" =更新->>> "+i );
} catch (SQLException e) {
System.out.println("更新失败!");
e.printStackTrace();
}
// 执行完毕之后, 关闭所有连接
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
state.close();
} catch (SQLException e) {
}
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}