假设你的用户名和密码都是root,你看下吧,在运行之前要先导入连接的那个jar文件
import java.sql.*public class TestConnectMySQL {
public static void main(String[] args) {
Connection conn = null
Statement stmt = null
ResultSet rs = null
try {
Class.forName("com.mysql.jdbc.Driver").newInstance() // new一个Driver
conn = DriverManager.getConnection("jdbc:mysql://localhost/A?" //连接MySQL 不理解就记住
+ "user=root&password=root")
stmt = conn.createStatement() //通过连接创建(createStatement)一个语句对象,不是new
rs = stmt.executeQuery("select * from pers") //执行查询,返回一个结果集rs相当于一个游标
while (rs.next()) { //循环取得结果集(遍历)
System.out.println(rs.getString("b") + " " //把某一字段的内容 当成一个字符串拿出来,
+ rs.getString("c") + " " //也可以用其它的,比如rs.getInt("")等
+ rs.getString("d"))
}
} catch (SQLException ex) {
System.out.println("SQLException: " + ex.getMessage())
System.out.println("SQLState: " + ex.getSQLState())
System.out.println("VendorError: " + ex.getErrorCode())
} catch (InstantiationException e) {
e.printStackTrace()
} catch (IllegalAccessException e) {
e.printStackTrace()
} catch (ClassNotFoundException e) {
e.printStackTrace()
} finally { //不要忘了关闭
try {
if (conn != null) {
conn.close()
conn = null
}
if (stmt != null) {
stmt.close()
stmt = null
}
if (rs != null) {
rs.close()
rs = null
}
} catch (SQLException e) {
e.printStackTrace()
}
}
}
}
在java中把数据库查询的结果保存到map中:实现:获得ResultSet rs 时可以转化为ResultSetMetaData对象。
ResultSetMetaData可用于获取关于 ResultSet 对象中列的类型和属性信息的对象。
举例说明如下:
//获得ResultSetMetaData对象
ResultSetMetaData rsmd=rs.getMetaData()
//获得返回此 ResultSet 对象中的列数
int count = rsmd.getColumnCount()
while(rs.next()){
Map map=new HashMap()
for(int i=1i<counti++){
//获取指定列的表目录名称
String label=rsmd.getColumnLabel(i)
//以 Java 编程语言中 Object 的形式获取此 ResultSet 对象的当前行中指定列的值
Object object= rs.getObject(i)
//把数据库中的字段名和值对应为一个map对象中的一个键值对
map.put(label.toLowerCase(), object)
}
把每条对象封装成的map对象放进list中
list.add(map)
}
就此就可以把任意resultet通过这个方法生成list对象。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)