
正文
java连接数据源代码 java代码连接数据库
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
求JAVA连接SQL数据库的代码
package com.conn;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
public class ConPool {
private String strDriverClass;
private String strJdbcUrl;
private String strUserName;
private String strUserPwd;
public ConPool(){
}
public Connection getMyJdbcConn()
{
Connection myConn=null;
try {
Class.forName(this.getStrDriverClass()).newInstance();
//DriverManager.registerDriver (new org.postgresql.Driver());
myConn= DriverManager.getConnection(this.getStrJdbcUrl(),this.getStrUserName(),this.getStrUserPwd());
}catch (Exception ex) {
System.out.print(ex);
}
return myConn;
}
public void closeConn(Connection myConn)
{
if (myConn!=null) {
try{
myConn.close();
myConn=null;
}catch(Exception e){}
}
}
/**
* @return the strDriverClass
*/
public String getStrDriverClass() {
return strDriverClass;
}
/**
* @param strDriverClass the strDriverClass to set
*/
public void setStrDriverClass(String strDriverClass) {
this.strDriverClass = strDriverClass;
}
/**
* @return the strJdbcUrl
*/
public String getStrJdbcUrl() {
return strJdbcUrl;
}
/**
* @param strJdbcUrl the strJdbcUrl to set
*/
public void setStrJdbcUrl(String strJdbcUrl) {
this.strJdbcUrl = strJdbcUrl;
}
/**
* @return the strUserName
*/
public String getStrUserName() {
return strUserName;
}
/**
* @param strUserName the strUserName to set
*/
public void setStrUserName(String strUserName) {
this.strUserName = strUserName;
}
/**
* @return the strUserPwd
*/
public String getStrUserPwd() {
return strUserPwd;
}
/**
* @param strUserPwd the strUserPwd to set
*/
public void setStrUserPwd(String strUserPwd) {
this.strUserPwd = strUserPwd;
}
public static void main(String[] args) {
Connection crmCon=null;
ConPool cp = new ConPool();
// //MySQL数据库
// cp.setStrDriverClass("com.mysql.jdbc.Driver");
// cp.setStrJdbcUrl("jdbc:mysql://127.0.0.1:3306/test?useUnicode=truecharacterEncoding=gbk");
// cp.setStrUserName("test");
// cp.setStrUserPwd("test");
//postgre数据库
cp.setStrDriverClass("org.postgresql.Driver");
cp.setStrJdbcUrl("jdbc:postgresql://127.0.0.1:5432/test");
cp.setStrUserName("test");
cp.setStrUserPwd("test");
crmCon=cp.getMyJdbcConn();
if (crmCon!=null) {
System.out.println("通过jdbc连接成功!");
}
// try {
// Statement stmtCrmUpd = crmCon.createStatement();
//
// stmtCrmUpd.addBatch("truncate table trade.sms_tmp_feild ");
// stmtCrmUpd.addBatch("INSERT INTO trade.sms_tmp_feild VALUES (0, 'membername', '%s', '会员姓名')");
// stmtCrmUpd.addBatch("INSERT INTO trade.sms_tmp_feild VALUES (1, 'cardwh', '%s', '卡号末四位')");
// stmtCrmUpd.addBatch("INSERT INTO trade.sms_tmp_feild VALUES (2, 'transmerchant', '%s', '交易店')");
// stmtCrmUpd.addBatch("INSERT INTO trade.sms_tmp_feild VALUES (3, 'transtype', '%s', '交易类型')");
// stmtCrmUpd.addBatch("INSERT INTO trade.sms_tmp_feild VALUES (4, 'transamount', '%.2f', '交易金额')");
// stmtCrmUpd.addBatch("INSERT INTO trade.sms_tmp_feild VALUES (5, 'cardbalance', '%.2f', '卡余额')");
// stmtCrmUpd.addBatch("INSERT INTO trade.sms_tmp_feild VALUES (6, 'merchantbrand', '%s', '交易商户集团名称')");
// stmtCrmUpd.addBatch("INSERT INTO trade.sms_tmp_feild VALUES (7, 'couponname', '%s', '券名称')");
// stmtCrmUpd.addBatch("INSERT INTO trade.sms_tmp_feild VALUES (9, 'cardno', '%s', '卡号')");
// stmtCrmUpd.addBatch("INSERT INTO trade.sms_tmp_feild VALUES (10, 'cardmerchant', '%s', '卡属商户名')");
// stmtCrmUpd.addBatch("INSERT INTO trade.sms_tmp_feild VALUES (11, 'transdate', '%tm月%te日', '交易日期')");
// stmtCrmUpd.addBatch("INSERT INTO trade.sms_tmp_feild VALUES (12, 'transtime', '%tT', '交易时间')");
//
// crmCon.setAutoCommit(false);
// //成功的话再提交保存当前最大ID号和失败日志
// stmtCrmUpd.executeBatch();
// crmCon.commit();
// crmCon.setAutoCommit(true);
//
// }catch (Exception ex) {
// System.out.println("数据库执行异常!");
// System.out.println(ex);
// try {
// crmCon.rollback();
// }catch (Exception e) {
// System.out.println("数据库回滚异常!");
// System.out.println(e);
// }
// }
//
// ResultSet rset = null;
//
// String sql = "select field_name,field_type from trade.sms_tmp_feild";
// MapString,String m = new HashMapString,String();
// try {
// Statement stmtCrm = crmCon.createStatement();
// rset = stmtCrm.executeQuery(sql);
//
// if (rset!=null){
// while (rset.next()){
// m.put(rset.getString("field_name"), rset.getString("field_type"));
// }
// rset.close();
// }
// rset = null;
// stmtCrm.close();
// stmtCrm = null;
// }catch (Exception ex) {
// System.out.println("数据库执行异常!");
// System.out.println(ex);
// }
//
//
// String strSql = "SELECT id,replace(replace(replace(replace(replace(replace(message_template,'tm月%te日',''),'d',''),'.2f',''),'tF',''),'tT',''),'s','') as message_template," +
// "template_feilds FROM trade.message_template";
//
// try {
// Statement stmtCrm = crmCon.createStatement();
// Statement stmtCrmUpd = crmCon.createStatement();
// rset = stmtCrm.executeQuery(strSql);
//
// if (rset!=null){
// while (rset.next()){
// if (rset.getString("template_feilds")!=nullrset.getString("message_template")!=null){
// String[] aryFeild = rset.getString("template_feilds").split(",");
// String[] aryCon = rset.getString("message_template").split("%");
// String tid = rset.getString("id");
//
// if (aryFeild!=nullaryFeild.length0aryCon!=nullaryCon.length0){
// StringBuilder strB = new StringBuilder();
// StringBuilder strF = new StringBuilder();
// StringBuilder bSql = new StringBuilder();
// strB.append(aryCon[0]);
// for (int i=1;iaryCon.length;i++){
// String strFormatCon = m.get(aryFeild[i-1]);
// if (strFormatCon.indexOf("%", 1)0){
// strF.append(aryFeild[i-1]+",");
// }
// strF.append(aryFeild[i-1]+",");
// strB.append(strFormatCon);
// strB.append(aryCon[i]);
// }
//
// if (strF.lastIndexOf(",")==strF.length()-1){
// strF.delete(strF.length()-1, strF.length());
// }
// System.out.println("原模板内容:"+rset.getString("message_template"));
// System.out.println("新摸版内容:"+strB.toString());
// System.out.println("原模板字段:"+rset.getString("template_feilds"));
// System.out.println("新模板字段:"+strF.toString());
//
// bSql.append("update trade.message_template set message_template='"+strB.toString()+"',template_feilds='"+strF.toString()+"' where id="+tid);
//
// System.out.println("修改模板Sql:"+strF.toString());
//
// stmtCrmUpd.addBatch(bSql.toString());
// }
// }
// }
// rset.close();
// }
// rset = null;
// stmtCrm.close();
// stmtCrm = null;
//
// crmCon.setAutoCommit(false);
// stmtCrmUpd.executeBatch();
// crmCon.commit();
// crmCon.setAutoCommit(true);
//
// stmtCrmUpd.close();
// stmtCrmUpd = null;
// }catch (Exception ex) {
// System.out.println("数据库执行异常!");
// System.out.println(ex);
// try {
// crmCon.rollback();
// }catch (Exception e) {
// System.out.println("数据库回滚异常!");
// System.out.println(e);
// }
// }
cp.closeConn(crmCon);
}
}
相关问答
Q1: java连接数据库的代码
用这个类吧.好的话,给我加加分.
import java.sql.*;
/**
* @功能: 一个JDBC的本地化API连接类,封装了数据操作方法,只用传一个SQL语句即可
* @作者: 李开欢
* @日期: 2007/
*/
public class ConnectionDemo {
/*
* 这里可以将常量全部放入另一个类中,以方便修改
*/
private static Connection conn;
private static Statement ps;
private static ResultSet rs;
private static final String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private static final String URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
private static final String USER ="sa";
private static final String PASS = "sa";
public ConnectionDemo() {
// TODO Auto-generated constructor stub
ConnectionDemo.getConnection();
}
public static Connection getConnection(){
System.out.println("连接中...");
try {
Class.forName(ConnectionDemo.DRIVER);
conn = DriverManager.getConnection(ConnectionDemo.URL, ConnectionDemo.USER, ConnectionDemo.PASS);
System.out.println("成功连接");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public static Statement getStatement(String sql){
System.out.println("执行SQL语句中...");
try {
ps = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
if(sql.substring(0, 6).equals("select")){
rs = ps.executeQuery(sql);
System.out.println("执行完查询操作,结果已返回ResultSet集合");
}else if(sql.substring(0, 6).equals("delete")){
ps.executeUpdate(sql);
System.out.println("已执行完毕删除操作");
}else if(sql.substring(0, 6).equals("insert")){
ps.executeUpdate(sql);
System.out.println("已执行完毕增加操作");
}else{
ps.executeUpdate(sql);
System.out.println("已执行完毕更新操作");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ps;
}
public static ResultSet getResultSet(){
System.out.println("查询结果为:");
return rs;
}
public static void closeConnection(){
System.out.println("关闭连接中...");
try {
if (rs != null) {
rs.close();
System.out.println("已关闭ResultSet");
}
if (ps != null) {
ps.close();
System.out.println("已关闭Statement");
}
if (conn != null) {
conn.close();
System.out.println("已关闭Connection");
}
} catch (Exception e) {
// TODO: handle exception
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ConnectionDemo.getConnection();
String sql = "delete from type where id = 1";
ConnectionDemo.getStatement(sql);
String sql2 = "insert into type values(1,'教学设备')";
ConnectionDemo.getStatement(sql2);
String sql1 = "select * from type";
ConnectionDemo.getStatement(sql1);
ResultSet rs = ConnectionDemo.getResultSet();
System.out.println("编号 "+"类 型");
try {
while(rs.next()){
System.out.print(" "+rs.getInt(1)+" ");
System.out.println(rs.getString(2));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ConnectionDemo.closeConnection();
}
}
Q2: Java连接数据库问题(附代码)
问题可能出在这里:
你的v2没有初始化就使用了java连接数据源代码,导致这句 v2.add(hang);会出现空指针异常java连接数据源代码;
而你在后边对v2又进行了初始化:v2 = new Vector();但此时的v2是空的,里面没有数据。
解决方法:
将 v2 = new Vector(); 这句放到链接数据库前,也就是在使用前进行初始化。
Q3: java连接数据库的方法,最好有详细的代码
import java.sql.*;
/*-
* Copyright(C) by jackliu
* 这是一个免费的代码,如果进行修改,请保留以上信息.
* 这是一个用标准JDBC连接Oracle数据库的包
* 编制人: Jackliu
* 开始日期: 2001.04.06
* 结束日期: 2001.04.06
* 版本: 1.0*/
public class Ora8iConnect
{
public Ora8iConnect(String db,String id,String pwd)
{ dbNAME=db;
userID=id;
userPWD=pwd;
beginConnect(); //连接数据库
}
/*-
*返回一个Connection对象
*/
public Connection getConnection(){return conn;}
/*-
*连接数据库,成功后返回1否则返回0
*/
public int beginConnect()
{ try
{ //加载一个Oracle驱动
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
//使用OCI8连接到数据库
conn=DriverManager.getConnection("jdbc:oracle:oci8:@"+dbNAME,userID,userPWD);
return 1;
}
catch(SQLException e) //捕捉SQL违例
{ System.out.println("Ora8iConnect在连接oracle8数据库时捕获");
while (e!=null)
{ System.out.println("SQLState:"+e.getSQLState());
System.out.println("Message :"+e.getMessage());
System.out.println("Vendor :"+e.getErrorCode());
e=e.getNextException();
System.out.println(" ");
}
conn=null;
return 0;
}
}
private Connection conn; //连接对象
private String dbNAME; //实例
private String userID; //用户名
private String userPWD; //口令
}
Q4: 求一个简单又经典的JAVA数据库连接的例子,要有源代码哦!
我就弄的用户登入的代码吧.这个挺简单的.
这是题目:
用户登陆验证:
1.创建数据库Test,并新建用户表users
字段包含:username varchar(20) not null
userpwd varchar(20) not null
在JBUILDER中编写Long类,实现登陆界面,并在用户输入用户名和密码后,
完成按纽的单击事件,对用户输入的数据进行验证,
(需要严整数据是否为空,密码长度必须是15位),
并实现与数据库的连接,将用户输入的用户名密码与表中的记录比较,
若用户名正确且密码正确,弹出提示框告知登陆成功,否则登陆失败。
这是代码:
//连接数据库
boolean isLogin(String name,String pwd){
boolean flag=false;
Connection conn=null;
PreparedStatement pst=null;
ResultSet rs=null;
//加载驱动
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
//连接数据库
try {
conn=DriverManager.getConnection("jdbc:odbc:login");
String sql="select * from [user] where username=? and userpwd=?";
pst=conn.prepareStatement(sql);
pst.setString(1,name);
pst.setString(2,pwd);
rs=pst.executeQuery();
if(rs.next())
flag=true;
} catch (Exception ex) {
ex.printStackTrace();
}finally{
try {
conn.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
return flag;
}
//验证方法
public void jButton1_actionPerformed(ActionEvent e) {
String name=jTextField1.getText();
String pwd=jTextField2.getText();
//错误处理
if(name.equals("")||pwd.equals(""))
JOptionPane.showMessageDialog(this,"请输入完整的信息");
else {
if(isLogin(name,pwd))
JOptionPane.showMessageDialog(this,"登陆成功");
else
JOptionPane.showMessageDialog(this,"用户名或密码错误");
}
}
}
.....
.....
这是在事件里写的,
Q5: java如何连接数据库?
1、首先第一步就是在网上下载一个mysql的数据库驱动jar包,类似mysql-connector-java-5.1.20-bin.jar。新建一个JAVA项目,在项目下面创建一个lib文件夹,将驱动jar文件拷贝到lib文件夹中。
2、光是拷贝到这里还不够,需要将该JAR包加入到项目的buildpath变量中。鼠标右边-》buildpath-configurebuildpath..在弹出的界面中点击Addjars选中驱动jar包将之添加到buildpath变量中。
3、然后创建一个JAVA文件写连接数据库的代码。需要声明四个变量(静态的,一般不会修改)。url是数据库的网络地址及其数据库的名称。name驱动的名称(不同数据库是不同的,别人定义的固定写法),user数据库用户名password数据库连接密码。
4、接下来就是通过数据库连接创建Connection对象,TestDBHelper类的构造方法传入sql语句,那样在使用的时候就可以直接New对象然后传入SQL语句执行了。记得写一个关闭连接的方法,每次访问数据库之后必须关闭连接。
5、接下来就是写main方法测试数据库连接,SQL语句执行的结果集是放在ResultSet对象中的,如果要取里面的内容就需要循环依次取出。使用完之后记得关闭数据库连接。
6、最后就是查看控制台的输出信息,比较和数据库表中的信息是否一致。另外我这里的表只有两个字段,如果有多个字段按照ret.getString(2);ret.getString(3);依次往后面取就可以了。
拓展资料:
Java是由Sun公司于1995年5月推出的面向对象的程序设计语言。
Java继承了C++语言面向对象技术的核心,又舍弃了C++语言中的指针、运算符重载以及多重继承的特性,同时引入了泛型编程、类型安全的枚举等特性,使Java成为简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
随着互联网的迅猛发展,Java已经成为重要的网络编程语言,被广泛应用于企业级Web应用开发和移动应用开发。
Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持goto语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。
关于java连接数据源代码和java代码连接数据库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







