当前位置:Gxlcms > mysql > JDBC数据库连接

JDBC数据库连接

时间:2021-07-01 10:21:17 帮助过:30人阅读

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class MyConnection { static Statement statement = null

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class MyConnection {
static Statement statement = null;
static PreparedStatement preStat = null;
static ResultSet resultSet = null;
static Connection con = null;

public static void main(String[] args) {
MyConnection mycon = new MyConnection();
Connection con = mycon.getConnection();
// ********************数据遍历
// Statement用来执行sql语句
try {
statement = con.createStatement();

// 要执行的SQL语句
String sql = "select * from Student";

// 结果集
resultSet = statement.executeQuery(sql);

// 遍历数据
while (resultSet.next()) {

String Sid = resultSet.getString(1);
String Sname = resultSet.getString(2);
String Sage = resultSet.getString(3);
String Ssex = resultSet.getString(4);
String Szhuanye = resultSet.getString(5);

System.out.println("Sid:" + Sid + " Sname:" + Sname
+ " Sage:" + Sage + " Ssex:" + Ssex + " Szhuanye:"
+ Szhuanye);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// ************执行增删改 字符串的拼接 *********
// insert into student valuse('"+Sid+"','"+Sname+"'.......);

// ****************预处理执行增删改**************
String insert = "insert into student values(?,?,?,?,?)";
String update = "update student set Sname=? where Sid=?";
String delete = "delete from student where Sid=?";

// 增加数据
try {
preStat = con.prepareStatement(insert);

// 这里可能还要判断一下数据库的约束条件
preStat.setString(1, "100080");
preStat.setString(2, "我试试");
preStat.setString(3, "100");
preStat.setString(4, "男");
preStat.setString(5, "100080");

// 执行sql语句
preStat.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

// **********更新数据
try {
preStat = con.prepareStatement(update);

preStat.setString(1, "更改");
preStat.setString(2, "100080");

preStat.executeUpdate();

} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

// **********删除数据
try {
preStat = con.prepareStatement(delete);

preStat.setString(1, "100080");

preStat.executeUpdate();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

// ************************预处理语句PreparedStatement 查询数据

try {
preStat = con.prepareStatement("select * from Student where Sid=?");
// 设置参数 表示 第一个参数 为100002
preStat.setString(1, "100080");
// 执行预处理语句
resultSet = preStat.executeQuery();

// 遍历数据
while (resultSet.next()) {

String Sid = resultSet.getString(1);
String Sname = resultSet.getString(2);
String Sage = resultSet.getString(3);
String Ssex = resultSet.getString(4);
String Szhuanye = resultSet.getString(5);

System.out.println("Sid:" + Sid + " Sname:" + Sname
+ " Sage:" + Sage + " Ssex:" + Ssex + " Szhuanye:"
+ Szhuanye);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

// 数据库连接方法
public Connection getConnection() {
// 驱动程序名
String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名score
String url = "jdbc:mysql://localhost:3306/score?useUnicode=true&characterEncoding=UTF-8";
//注意score后面家的代码是指定编码 不知道 有可能乱码
// String url="jdbc:mysql://127.0.0.1:3306/score";
// MySQL配置时的用户名
String user = "root";
// MySQL配置时的密码
String password = "123456";

try {
// 加载驱动 通过名字把类的源数据对象加载到内存中
Class.forName(driver);

// 连续数据库
con = DriverManager.getConnection(url, user, password);

if (!con.isClosed())
System.out.println("数据库连接成功!");

} catch (Exception e) {
e.printStackTrace();
}

return con;
}

}



人气教程排行