main⽅法连接mysql数据库测试main⽅法连接mysql数据库测试
使⽤jdbc连接数据库
基础准备:
JDK1.8 、 mysql8.0、 mysql-connector-java-8.0.16.jar
实现代码:
mysql数据库的方法import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test {
public static void main(String[] args) {
Connection conn = null ;
List list = new ArrayList();
try{
//加载JDBC驱动程序:
Class.forName("sql.cj.jdbc.Driver");
// 问号后⾯是解决中⽂乱码输⼊问题,UTC是统⼀标准世界时间
String url = "jdbc:mysql://localhost:3306/dbo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC"; String username = "abc123";
String password = "abc123";
// 创建与MySQL数据库的连接类的实例
conn = Connection(url, username, password);
// ⽤conn创建Statement对象类实例
Statement sql_statement = ateStatement();
// sql拼装
// String sql = " insert into students (name, age, no) values ('张三', 20, '00001') " ;
String sql = " select * from students " ;
// 执⾏sql
ResultSet result = uteQuery(sql);
// int num = uteUpdate(sql);
/
/ System.out.println("返回结果:"+num);
//处理结果
int column = result!=null? MetaData().getColumnCount() : 0;
// ⼀⾏数据
while (()) {
// 对象数组,表⽰⼀⾏数据
Map map = new HashMap();
for (int i = 1; i <= column; i++) {
// 获得列名
String columnName = MetaData().getColumnName(i);
map.put(columnName, Object(columnName));
}
list.add(map);
}
}
catch (Exception e) {
e.printStackTrace();
}
finally {
finally {
if (conn != null) {
// 关闭连接
try {
conn.close();
}
catch (Exception e) {
System.out.println("连接关闭异常");
}
}
}
System.out.println(list);
}
}
注意事项:
⼀些特别处理过的语句返回多个结果,execute ⽅法处理这些复杂的语句;executeQuery 和 executeUpdate 处理形式更简单的语句。
execute ⽅法返回⼀个 boolean 值,以指⽰第⼀个结果的形式。必须调⽤ getResultSet 或 getUpdateCount ⽅法来检索结果,并且必须调⽤ getMoreResults 移动到任何后⾯的结果。
返回:
如果第⼀个结果是 ResultSet 对象,则返回 true;如果第⼀个结果是更新计数或者没有结果,则返回 false
意思就是如果是查询的话返回true,如果是更新或插⼊的话就返回false了;所以执⾏插⼊或更新语句应该使⽤executeUpdate。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论