java中定义一个类,主要从数据库中获取字段怎么编写

java中定义一个类,主要从数据库中获取字段怎么编写,第1张

首先连接数据库,你也没说什么数据库,给你三种连接,

package com.cai.jdbc

import java.sql.Connection

import java.sql.DriverManager

import java.util.Properties

public class ConnectionUtil {

/**

* 1

*在方法中固化连接参数

* @return 数据库连接

*/

public Connection getConnection(){

Connection conn = null

try{

Class.forName("com.mysql.jdbc.Driver")

conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/stud", "root", "root")

return conn

}catch(Exception e){

e.printStackTrace()

}

return null

}

/**

* 2

*通过方法参数方式传递连接参数

* @return 数据库连接

*/

public Connection getConnection(String driver, String url, String user, String password){

Connection conn = null

try{

Class.forName(driver)

conn = DriverManager.getConnection(url, user, password)

return conn

}catch(Exception e){

e.printStackTrace()

}

return null

}

/**

* 3

*通过properties配置文件的方式灵活配置连接参数,properties中的属性名固化

* @return 数据库连接

*/

public Connection openConnection(){

Connection conn = null

String driver = ""

String url = ""

String user = ""

String password = ""

Properties props = new Properties()

try{

props.load(this.getClass().getClassLoader().getResourceAsStream("DBConfig.properties"))

driver = props.getProperty("driver")

url = props.getProperty("url")

user = props.getProperty("user")

password = props.getProperty("password")

Class.forName(driver)

conn = DriverManager.getConnection(url, user, password)

return conn

}catch(Exception e){

e.printStackTrace()

}

return null

}

public static void main(String []args){

ConnectionUtil cu = new ConnectionUtil()

System.out.println("1、---->" + cu.getConnection())

System.out.println("2、---->" + cu.getConnection("com.mysql.jdbc.Driver",

"jdbc:mysql://localhost:3306/stud", "root", "root"))

System.out.println("3、---->" + cu.openConnection())

}

}

连接上数据库就可以 *** 作数据了,在写sql语句 根据sql执行就有返回相应字段值了

最好的方法就是使用类集list配上范型,例如List<Integer>

list=new

List<Integer>().然后使用for循环讲pk值存入,while(rs.hasnext){list.add(rs.getInt(这里填PK值段的序列))},当然也可以不用范性,但编译有安全警告

你用的是什么数据库?

哦...呵呵刚没注意标题...

这个我以前写的,

假设你的用户名和密码都是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()

}

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9976475.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存