java使用原生jdbc连接数据库获取数据或执行sql语句(mysql)
java使用原生jdbc连接数据库获取数据或执行sql语句(mysql)
public void test2() {
try {
// 加载MySql的驱动类
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("找不到驱动程序类 ,加载驱动失败!");
e.printStackTrace();
}
//数据库地址
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC";
//数据库用户名
String username = "root";
//数据库密码
String password = "19960215";
Connection con = null;
try {
//连接数据库
con = DriverManager.getConnection(url, username, password);
} catch (SQLException se) {
System.out.println("数据库连接失败!2");
se.printStackTrace();
}
try {
//执行sql语句
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM test");
ResultSetMetaData rsmd = rs.getMetaData();//获取返回信息的元数据
int c=rsmd.getColumnCount();//获取返回的结果集的列数(返回了多少列)
System.out.println(c);
for(int i=1;i<=c;i++) {
System.out.print(rsmd.getColumnName(i)+"\t");//获取返回结果集中第i列的列名
}
System.out.println();
while (rs.next()) {
/**
* 获取查询到的结果集
*/
String id = rs.getString("id");// 方法一,根据列名获取数据
String name = rs.getString(2); // 方法二,根据列下标获取数据,此方法比较高效
System.out.println(id+"\t"+name);
}
if (rs != null) { // 关闭记录集
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null) { // 关闭声明
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (con != null) { // 关闭连接对象
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
fixed
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。