引进包:项目名右键—Build Path—configure Build Path—Libraries—Add External JARs—要引入的包
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
* 链接数据库的工具类
* @author Administrator
* mysql数据库
*/
public class ConnectionUtil {
public static Connection getConnection(){
try {
// 加载驱动 :驱动的名称,不同的数据库驱动有不同的写法。
Class.forName("com.mysql.jdbc.Driver");
// 链接数据库的URL,各种不同的数据库也有不同的写法。
String url = "jdbc:mysql://192.168.7.245:3306/school";
// 链接数据库的用户名称。
String user = "JT201201";
// 链接数据库的用户密码。
String password = "123456";
// 根据DriverManager的getConnection方法得到一个数据库的链接。
Connection connection = DriverManager.getConnection(url, user,password);
// 返回得到的数据库的链接。
return connection;
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
// 运行出现异常返回null
return null;
}
}
import java.sql.Connection;
import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.qrsx.util.ConnectionUtil;
/**
* 查询的操作
* @author Administrator
*
*/
public class SelectDemo {
public static void main(String[] args) {
// 根据connection工具类得到一个Connection链接
Connection connection=ConnectionUtil.getConnection();
//用于执行静态 SQL 语句并返回它所生成结果的对象。
Statement statement=null;
//返回的结果集。
ResultSet resultSet=null;
//判断是否通过connection工具类得到了Connection链接。
if(connection!=null){
try {
statement=connection.createStatement();
//SQL 的查询语句。
String sql="select * from student_tb ";
//executeQuery方法 返回一个结果集。
resultSet=statement.executeQuery(sql);
//遍历结果集。next()判断是否还有下一个元素,有,返回TRUE,否则返回false。如果返回的为TRUE,则 同时将光标指向下一个元素。
while(resultSet.next()){
//getXxx()一般重载,1,传入列的下标(sql的下标是从1开始的。)。2,传入列的名称(推荐)。
//resultSet 在此次表示当前的结果。
int id=resultSet.getInt(1);
String stuName=resultSet.getString("stuName");
int stuAge=resultSet.getInt("stuAge");
Date stuBirthday=resultSet.getDate("stuBirthday");
//打印得到的结果
System.out.println(id+"\t"+stuName+"\t"+stuAge+"\t"+stuBirthday);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
try{
if(resultSet!=null){
resultSet.close();
}
if(statement!=null){
statement.close();
}
if(connection!=null){
connection.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
}
}
}
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import org.qrsx.util.ConnectionUtil;
/**
* 添加操作。
* 可用于执行增删改操作
* @author Administrator
*/
public class InsertDemo {
public static void main(String[] args) {
// 根据connection工具类得到一个Connection链接
Connection connection=ConnectionUtil.getConnection();
/**
* Statement :sql语句编译成的对象。
* execute(): CRUD
* executeQuery(): R
* executeUpdate(): CUD
*/
Statement statement=null;
if(connection!=null){
try {
statement=connection.createStatement();
String sql="insert into student_tb (stuName,stuAge,stuBirthday)values ('王五',27,'1985-6-12')";
int t=statement.executeUpdate(sql);
System.out.println(t);
} catch (SQLException e) {
e.printStackTrace();
} finally{
//最后,别忘记主动的关闭资源。
try {
if(statement!=null){
statement.close();
}
if(connection!=null){
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import org.qrsx.util.ConnectionUtil;
/**
*
* 使用预编译对象进行对数据库的操作
* @author Administrator
*/
public class InsertDemo1 {
public static void main(String[] args) {
Connection connection=ConnectionUtil.getConnection();
//预编译对象。
PreparedStatement statement=null;
if(connection!=null){
//SQL语句的“?”表示占位符。不确定的值。
//使用PrepareedStatement可以 防止SQL注入。
String sql="insert into student_tb (stuName,stuAge,stuBirthday)values (?,?,?)";
try {
//得到一个SQL语句的预编译对象。
statement=connection.prepareStatement(sql);
//在真正运行之前,一定要使用setXxx方法对所有的?进行赋值。
statement.setString(1, "赵柳");
statement.setInt(2, 18);
statement.setDate(3, new Date(1998,5,12));
int t=statement.executeUpdate();
System.out.println(t);
} catch (SQLException e) {
e.printStackTrace();
}finally{
//要关闭资源。
}
}
}
}