java操作数据库?java操作数据库的方式有哪些
老铁们,大家好,相信还有很多朋友对于java操作数据库和java操作数据库的方式有哪些的相关问题不太懂,没关系,今天就由我来为大家分享分享java操作数据库以及java操作数据库的方式有哪些的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
java 操作 数据库
Java连接数据库是使用具体数据库的JDBC驱动程序来实现的,每一个数据库的驱动程序不同。
以下是一段示例代码:
1.Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();//加载数据库JDBC驱动,该驱动会自动注册连接所需信息。
2.String url="jdbc:oracle:thin:@localhost:1521:orcl";//定义连接字符串
String user="test";//用户名
String password="test";//密码
3.Connection conn= DriverManager.getConnection(url,user,password);//通过DriverManager获取数据库连接引用
4.Statement sql= conn.createStatement(Resultset.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);//生成一个Statement
5.ResultSet rs= sql.executeQuery("SELECT* FROM表");//获取记录集引用
6.System.out.println(rs('字段一'));//输出当前一行表头为‘字段一’的数据。
以下再提供给你几个常用数据库的连接方式(驱动通常都是一个jar包,可以去数据库提供商官网下载):
1、Oracle8/8i/9i数据库(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为数据库的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
2、DB2数据库
Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();
String url="jdbc:db2://localhost:5000/sample";
//sample为你的数据库名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
3、Sql Server7.0/2000数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
//mydb为数据库
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
4、Sybase数据库
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url=" jdbc:sybase:Tds:localhost:5007/myDB";
//myDB为你的数据库名
Properties sysProps= System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);
5、Informix数据库
Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url=
"jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword";
//myDB为数据库名
Connection conn= DriverManager.getConnection(url);
6、MySQL数据库
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//myDB为数据库名
Connection conn= DriverManager.getConnection(url);
7、PostgreSQL数据库
Class.forName("org.postgresql.Driver").newInstance();
String url="jdbc:postgresql://localhost/myDB"
//myDB为数据库名
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);
另外一种方式是针对Windows的,首先建立一个DSN,然后使用Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");和"jdbc:odbc:数据源名称"来获取连接引用,不过这样平台依赖性很大,不推荐这样做。
希望我的回答对你有所帮助!
在Java中如何对数据库中的数据进行操作
//此类为连接数据库并进行数据库的操作\x0d\x0aimportjava.sql.Connection;\x0d\x0aimportjava.sql.DriverManager;\x0d\x0aimportjava.sql.ResultSet;\x0d\x0aimportjava.sql.SQLException;\x0d\x0aimportjava.sql.Statement;\x0d\x0apublicclassConn{\x0d\x0aprivatestaticConnectionconn=null;\x0d\x0aprivatestaticStatementst=null;\x0d\x0aprivatestaticResultSetrs=null;\x0d\x0a//建立数据库的连接\x0d\x0apublicConn(){\x0d\x0aStringurl="jdbc:sqlserver://localhost:1433;databaseName=ZYGX";\x0d\x0aStringuser="sa";\x0d\x0aStringpassword="123";\x0d\x0atry{\x0d\x0aClass.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");\x0d\x0aconn=DriverManager.getConnection(url,user,password);\x0d\x0ast=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);\x0d\x0a}catch(ClassNotFoundExceptione){\x0d\x0ae.printStackTrace();\x0d\x0a}catch(SQLExceptione){\x0d\x0ae.printStackTrace();\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0a//通过不同的sql语句,得到相应Resultset结果集\x0d\x0apublicResultSetgetRs(Stringsql){\x0d\x0atry{\x0d\x0ars=st.executeQuery(sql);\x0d\x0a}catch(SQLExceptione){\x0d\x0ae.printStackTrace();\x0d\x0a}\x0d\x0areturnrs;\x0d\x0a}\x0d\x0a//根据不同的sql语句,执行数据库的更新操作\x0d\x0apublicintupdata(Stringsql){\x0d\x0aintnum=0;\x0d\x0atry{\x0d\x0anum=st.executeUpdate(sql);\x0d\x0a}catch(SQLExceptione){\x0d\x0ae.printStackTrace();\x0d\x0a}\x0d\x0areturnnum;\x0d\x0a}\x0d\x0a//关闭数据库连接相应的资源\x0d\x0apublicvoidclose(){\x0d\x0atry{\x0d\x0aif(rs!=null){\x0d\x0ars.close();\x0d\x0ars=null;\x0d\x0a}\x0d\x0aif(st!=null){\x0d\x0ast.close();\x0d\x0ast=null;\x0d\x0a}\x0d\x0aif(conn!=null){\x0d\x0aconn.close();\x0d\x0aconn=null;\x0d\x0a}\x0d\x0a}catch(SQLExceptione){\x0d\x0ae.printStackTrace();\x0d\x0a}\x0d\x0a}\x0d\x0a}\x0d\x0a----------------------------------------------------------------------\x0d\x0a//可以对button里添加动作按钮:\x0d\x0afinalJButtonbutton=newJButton();\x0d\x0abutton.addActionListener(newActionListener(){\x0d\x0apublicvoidactionPerformed(finalActionEvente){\x0d\x0aConnconn=newConn();\x0d\x0aStringsql1="select*fromaawherename='"+name+"'";//按name值查找\x0d\x0aResultSetrs=conn.getRs(sql1);\x0d\x0atry{\x0d\x0awhile(rs.next()){\x0d\x0aintn=rs.getString("type");\x0d\x0a}\x0d\x0a}catch(SQLExceptione){\x0d\x0ae.printStackTrace();\x0d\x0a}\x0d\x0aStringname=textField.getText();\x0d\x0aStringsql="updateaasettittle='"+name+"'";//从aa表将title字段的值改成textField里的name值\x0d\x0aStringsql2="deletefromaawherename='"+name+"'";//从aa表将按取得name的值删除该行数据\x0d\x0aStringsql3="insertintoaa(name,uname)values('"+name+"','"')";//将name,uname值新增到aa表\x0d\x0aif(conn.update(sql)==1){\x0d\x0aSystem.out.print("修改成功");\x0d\x0a}\x0d\x0aif(conn.update(sql2)==1){\x0d\x0aSystem.out.print("删除成功");\x0d\x0a}\x0d\x0aif(conn.update(sql3)==1){\x0d\x0aSystem.out.print("新增成功");\x0d\x0a}\x0d\x0a}\x0d\x0a});
java操作数据库的方式有哪些
JDBC是java数据库连接技术的简称,它提供了连接各种数据库的能力,这便使程序的可维护性和可扩展性大大的提高了.JDBC连接数据库常见的驱动方式有两种,一种是jdbc-odbc即桥连另外一种是纯java驱动.一般在做java开发的时候用第二种.so前一种我就不说了,纯java驱动方式连接步骤如下:
1.先把一个jdbc的jar包导入到项目(用MyEclipse开发)的lib中.
2.代码如下:
[c-sharp]view plaincopy
importjava.sql.*;
/**
*连接数据库帮助类
*@authorAdministrator
*
*/
publicclassBaseDao{
privatestaticfinalStringDRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
privatestaticfinalStringURL="jdbc:sqlserver://localhost:1433;DatabaseName=LibraryManageSystem";
privatestaticfinalStringUSERNAME="sa";
privatestaticfinalStringPASSWORD="sa";
/**
*连接数据库
*@return数据库连接对象
*@throwsClassNotFoundException
*@throwsSQLException
*/
publicConnectiongetConn()throwsClassNotFoundException,SQLException{
Class.forName(DRIVER);
Connectionconn=DriverManager.getConnection(URL,USERNAME,PASSWORD);
returnconn;
}
/**
*释放资源
*@paramconn
*@parampstmt
*@paramrs
*@throwsSQLException
*/
publicvoidcloseAll(Connectionconn,PreparedStatementpstmt,ResultSetrs)throwsSQLException{
if(rs!=null){
rs.close();
}
if(pstmt!=null){
pstmt.close();
}
if(conn!=null){
conn.close();
}
}
/**
*执行SQL语句,可以进行增、删、改的操作
*@paramsql
*@return影响条数
*@throwsClassNotFoundException
*@throwsSQLException
*/
publicintexecuteSQL(Stringsql)throwsClassNotFoundException,SQLException{
Connectionconn=this.getConn();
PreparedStatementpstmt=conn.prepareStatement(sql);
intnumber=pstmt.executeUpdate();
this.closeAll(conn,pstmt,null);
returnnumber;
}
}
从代码知道首先吧jdbc驱动类装载java虚拟机中,即Class.forName(DRIVER);其次加载驱动并建立于数据库的连接Connection conn= DriverManager.getConnection(URL,USERNAME,PASSWORD);;然后发送SQL语句并的到结果集.之后处理结果,最后要关闭数据库的连接,释放资源.当然我说的这样连接数据库的方式使用的软件是sql和MyEclipse.
使用配置文件来连接数据库,当然这样的连接需要进行一些配置.其实这样的连接用专业术语来说就是连接池,连接池是负责分配管理和释放数据库连接.它允许用用程序重复使用一个现有的数据库连接不再重复建立连接.释放空闲时间超过最大空闲时间的数据库连接以避免因为没有释放数据库而引起的数据库遗漏.
连接池的创建分为以下几个步骤:1.配置context.xml文件这个文件是服务器(指tomcat)的一个conf文件夹中,拷贝出来放入项目的lib文件夹中,具体配置如下:
[c-sharp]view plaincopy
<Resourcename="jdbc/book"auth="Container"type="javax.sql.DataSource"
maxActive="100"maxIdle="20"maxWait="100"username="sa"password="sa"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;dataBaseName=book"
/>在config.xml文件中加入Resource标签,然后对数据库信息进行配置,当然这个数据库指的也是sqlserver有疑问可以qq757966892联系
之后把数据库的驱动包,这里指的是sql2005的包放入服务器的lib中,这样以后如果在你自己的机子上都不用在重新导入这个包了.
然后就是从MyEclipse中取得这样的连接从而对数据库进行一些操作具体代码如下:
[c-sharp]view plaincopy
packageweb.login.dao;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjavax.naming.Context;
importjavax.naming.InitialContext;
importjavax.sql.DataSource;
publicclassBaseDao{
protectedConnectionconn;
protectedPreparedStatementps;
protectedResultSetrs;
protectedStringsql;
publicConnectiongetConn(){
try{
Contextcontext=newInitialContext();
DataSourceds=(DataSource)context.lookup("java:comp/env/jdbc/user");
returnds.getConnection();
}catch(Exceptione){
e.printStackTrace();
returnnull;
}
}
publicvoidcloseAll(Connectionconn,PreparedStatementps,ResultSetrs){
try{
if(rs!=null){
rs.close();
rs=null;
}
if(ps!=null){
ps.close();
ps=null;
}
if(conn!=null){
conn.close();
conn=null;
}
}catch(Exceptione){
e.printStackTrace();
}
}
}
之后便可以建立业务类从而对数据库进行操作.文章到此结束,如果本次分享的java操作数据库和java操作数据库的方式有哪些的问题解决了您的问题,那么我们由衷的感到高兴!