java jdbc如何使用

 我来答
缄默相依
2014-10-09 · TA获得超过224个赞
知道小有建树答主
回答量:338
采纳率:0%
帮助的人:226万
展开全部
给你看个简单的例子吧:
public class DBUtil {

/**
* 获取数据库连接
*
* @return
*/
public static Connection getConn() {
Connection con = null;
//驱动
String className = "";
//url连接路径
String url = "";
//用户名
String username = "";
//密码
String password = "";
try {
className = DBUtil.getValue("/jdbc.properties", "jdbc.driverClassName");
url = DBUtil.getValue("/jdbc.properties", "jdbc.url");
username = DBUtil.getValue("/jdbc.properties", "jdbc.username");
password = DBUtil.getValue("/jdbc.properties", "jdbc.password");
} catch (IOException e1) {
e1.printStackTrace();
}
try {
Class.forName(className);
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
String u = url+"?user="+username+"&password="+password+"&useUnicode=true&characterEncoding=UTF8";
try {
con = DriverManager.getConnection(u);
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
/**
* 关闭连接资源
*
* @param pst
* @param conn
*/
public static void getClose(PreparedStatement pst, Connection conn) {
try {
if (pst != null) {
pst.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 获取jdbc配置文件内的属性值
* @param fileNamePath 配置文件路径
* @param key 字段名
* @return
* @throws IOException
*/
public static String getValue(String fileNamePath, String key)
throws IOException {
Properties props = new Properties();
InputStream in = null;
try {
// in = new FileInputStream(fileNamePath);
// 如果将in改为下面的方法,必须要将.Properties文件和此class类文件放在同一个包中
in = DBUtil.class.getResourceAsStream(fileNamePath);
props.load(in);
String value = props.getProperty(key);
// 有乱码时要进行重新编码
// new String(props.getProperty("name").getBytes("ISO-8859-1"),
// "GBK");
return value;
} catch (IOException e) {
e.printStackTrace();
return null;
} finally {
if (null != in)
in.close();
}
}
}

jdbc.properties:
jdbc.driverClassName = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/XXX
jdbc.username = XXX
jdbc.password = XXX

public class CycleTask extends TimerTask{
PreparedStatement pst = null;
ResultSet rs = null;
Connection conn = null;
@Override
public void run() {
conn = DBUtil.getConn();
StringBuffer sb = new StringBuffer();
sb.append(" INSERT INTO P_SB_TEMP(SB_ID,TEMP_SB,TEMP_HJ,REMARK,DW,ADDTIME) ");
sb.append(" VALUES(?,?,?,?,?,?) ");

try{
pst = conn.prepareStatement(sb.toString());
int index = 1;
pst.setString(index++, "1");
pst.setString(index++, "2");
pst.setString(index++, "3");
pst.setString(index++, "4");
pst.setString(index++, "5");
pst.setTimestamp(index++, new Timestamp(2011, 12, 12, 12, 12, 12, 00));
pst.execute();
}catch (SQLException e1) {
e1.printStackTrace();
}
DBUtil.getClose(pst, conn);
}
}
}

你去试试的
萌娃炼成记
2014-10-09 · 超过13用户采纳过TA的回答
知道答主
回答量:24
采纳率:0%
帮助的人:24.8万
展开全部
public class JDBCtest {
//驱动程序就是之前在classpath中配置的jdbc的驱动程序jar中
public static final String drive = "oracle.jdbc.driver.OracleDriver";
/**
* 连接地址,各个厂商提供单独记住
* jdbc:oracle:thin:@localhost:1521:ORCL localhost 是ip地址。
*/
public static final String url = "jdbc:oracle:thin:@192.168.1.15:1521:ORCL";
/**
* 用户 密码
*/
public static final String DBUSER="gyly";
public static final String password="gyly";

public static void main(String[] args){
Connection conn=null;
Statement stmt=null;
ResultSet result=null;
try {
Class.forName(drive);//使用class类来加载程序
conn =DriverManager.getConnection(url,DBUSER,password); //连接数据库
//Statement接口要通过connection接口来进行实例化操作
stmt = conn.createStatement();
//执行SQL语句来查询数据库
result =stmt.executeQuery("SELECT DEPTID,DEPTNAME,ADDR,TEL,FAX,LXR,PX,UNITID FROM bs_dept");
while(result.next()){//判断有没有下一行
int DEPTID =result.getInt(1);
String DEPTNAME = result.getString(2);
String ADDR = result.getString(3);
long TEL = result.getLong(4);
long FAX = result.getLong(5);
String LXR =result.getString(6);
int PX =result.getInt(7);
int UNITID = result.getInt(8);
System.out.print("DEPTID="+DEPTID+";");
System.out.print("DEPTNAME="+DEPTNAME+";");
System.out.print("ADDR="+ADDR+";");
System.out.print("TEL="+TEL+";");
System.out.print("FAX="+FAX+";");
System.out.print("LXR="+LXR+";");
System.out.print("PX="+PX+";");
System.out.print("UNITID="+UNITID+";");
System.out.println();

}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
result.close();//数据库先开后关
stmt.close();
conn.close();//关闭数据库
} catch (Exception e) {
e.printStackTrace();
}
}

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
安徽新华电脑专修学院
2018-09-08 · 百度知道合伙人官方认证企业
安徽新华电脑专修学院
安徽新华电脑专修学院始建于1988年,隶属于新华教育集团,是国家信息化教育示范基地、中国 IT 教育影响力品牌院校.
向TA提问
展开全部
public static void main(String[] args) throws Exception { Connection conn = null; String sql;
String url = "jdbc:mysql://localhost:3306/javademo?" + "user=root&password=root&useUnicode=true&characterEncoding=UTF8"; try { // 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来, // 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以 Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动 System.out.println("成功加载MySQL驱动程序"); // 一个Connection代表一个数据库连接 conn = DriverManager.getConnection(url); // Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等 Statement stmt = conn.createStatement(); sql = "create table student(NO char(20),name varchar(20),primary key(NO))"; int result = stmt.executeUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功 if (result != -1) { System.out.println("创建数据表成功"); sql = "insert into student(NO,name) values('2012001','陶伟基')"; result = stmt.executeUpdate(sql); sql = "insert into student(NO,name) values('2012002','周小俊')"; result = stmt.executeUpdate(sql); sql = "select * from student"; ResultSet rs = stmt.executeQuery(sql);// executeQuery会返回结果的集合,否则返回空值 System.out.println("学号\t姓名"); while (rs.next()) { System.out .println(rs.getString(1) + "\t" + rs.getString(2));// 入如果返回的是int类型可以用getInt() } } } catch (SQLException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { conn.close(); } } }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大神98
2014-10-09
知道答主
回答量:21
采纳率:0%
帮助的人:9.2万
展开全部
package com.jingao.mail.util;



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 DBConnection {

public static Connection conn = null;

public static void init() {

try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
try {
conn = DriverManager.getConnection(url, "mail", "mail");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public static Connection getConnection() {

if (conn == null)
init();

return conn;

}

public static void close(Statement stmt,PreparedStatement pstmt,ResultSet rs){
try {
if (rs!=null)
rs.close();
if (stmt!=null)
stmt.close();
if (pstmt !=null)
pstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

就是这么用的这是最原始的方法了,加载数据库驱动,静态类得到连接!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
675979239
2014-10-09 · TA获得超过100个赞
知道小有建树答主
回答量:206
采纳率:0%
帮助的人:121万
展开全部

给你个例子

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DataBaseConnection {

private static final String DB_DRIVER = "org.gjt.mm.mysql.Driver";
private static final String DB_URL = "jdbc:mysql://localhost:3306/test";
private static final String DB_USER = "root";
private static final String DB_PWD = "mysql";

private Connection conn;

public Connection getConnection() {
try {
if (conn == null || conn.isClosed()) {
Class.forName(DB_DRIVER);
conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PWD);
}
} catch (Exception e) {
e.printStackTrace();
}

return conn;
}

public void close() {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式