导航:首页 > 编程大全 > java数据库的封装

java数据库的封装

发布时间:2024-03-30 10:55:06

1. java数据库连接封装类

try{
class.forName(driver);
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}

错了,应该写在方法里面。。。

public Connection getConnection()
{
try{
class.forName(driver);
connection = DriverManager.getConnection(URL,username,password);
}
catch (SQLException e1)
{
e1.printStackTrace();
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
return connection;
}
或者把他放在构造方法里。专
当然是:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
编译肯定不对。属

2. 急:怎么把java类封装成SDK,还要放入连接池,怎么搞啊,大神们

呵呵 这哥们是新手 从描述问题上来看就可以看出 你的意图估计是这样:

你想把一个类或一些类打包成jar文件,至于这个jar文件有什么api,我从你所说的连接池来看应该是创建数据库连接的一些api吧,你想把这些连接丢给连接池来管理,对吗?


首先,你封装好的创建连接的api,系统初始化时就创建一定数量的的连接。

第二,把这些连接丢给连接池。

第三,让连接池来维护你的连接,如果连接池中的连接数少于你定的阀值,就让其再调用你之前封装的api创建一些连接,再纳入连接池中。如此循环。

第四,程序要使用连接就直接从连接池中取。


//初始化连接池
StringconnUrl="jdbc:mysql://your.database.domain/yourDBname";
Stringdriver="com.mysql.jdbc.Driver";
privateMap<java.sql.Connection,String>connectionPool=null;
privatevoidinitPool(){
try{
connectionPool=newHashMap<java.sql.Connection,String>();
Class.forName(driver);
java.sql.Connectioncon=DriverManager.getConnection(dbUrl);
for(intpoolInd=poolSize;poolInd<0;poolInd++){
connectionPool.put(con,"AVAILABLE");
}
}

//取连接
publicjava.sql.ConnectiongetConnection()throwsClassNotFoundException,SQLException
{
booleanisConnectionAvailable=true;
for(Entry<java.sql.Connection,String>entry:connectionPool.entrySet()){
synchronized(entry){
if(entry.getValue()=="AVAILABLE"){
entry.setValue("NOTAVAILABLE");
return(java.sql.Connection)entry.getKey();
}
isConnectionAvailable=false;
}
}
if(!isConnectionAvailable){
Class.forName(driver);
java.sql.Connectioncon=DriverManager.getConnection(connUrl);
connectionPool.put(con,"NOTAVAILABLE");
returncon;
}
returnnull;
}

//释放连接
publicvoidcloseConnection(java.sql.Connectionconnection)throwsClassNotFoundException,SQLException{
for(Entry<java.sql.Connection,String>entry:connectionPool.entrySet()){
synchronized(entry){
if(entry.getKey().equals(connection)){
//
entry.setValue("AVAILABLE");
}
}
}
}


基本上连接池的实际工作原理就是这样,当然建议使用开源现成的C3P0,DBCP。

3. JAVA中封装的问题,为什么使用封装,封装的意义是什么

个人理解可能不对,有更好的回答也请回复我
1.为什么要用封装,封装简单的说能屏蔽方法的复杂性,比如只要知道方法的参数类型就可以使用方法,再说降低模块之间的耦合性,就是模块之间的联系,让之相互独立,能提高系统的健壮性,就是不容易崩溃,相应的对应的方法也变得很多,有重复。你说的公开的类型,不一定能满足所有功能需求,多个模块公用一个方法,为了满足各个需求不断修改,代码量庞大,功能很多,但是一出问题,系统就全乱套了。
2.封装不只有set和get。你往后学就知道了。
3.封装整个父类吗? 这个不需要吧,java 有继承,是多态的表现形式,此外还能实现接口,都能满足要求,再比如抽象类也可以实现部分功能的传递或者方法规范的传递。

4. 我用java 查询数据库中表的一个字段内容,该字段全是数字如何封装封装后又如何取出来

你查询数据查询后就是一个ResultSet对象
拿个例子来说吧
一个查询语句
select name,age,sex from user
你查询后得到一个ResultSet rs
然后你去循环这个rs
while(rs.next()){
String name = rs.getString("name");
String age= rs.getString("age");

}
或者你写一个bean 例如是User.java
里面有 name age sex 对象的属性和getXXX(),setXXX()方法
那就可以这样写
User user = new User()
while(rs.next()){
user.setName(rs.getString("name"));
user.setAge( rs.getString("age"));

}
如果有逻辑要用到name或者age
你就可以直接用这个user里面的数据了

5. java对数据库操作的封装是怎么样的

java本身对数据库没有封装,对数据库封装好的有hibernate,ibatis(mybatis),hibernate封装的比较彻底,基本操作不用自己写SQL语句,ibatis的话还是要自己写SQL语句,比较灵活.

6. java数据库封装

package com.lc.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 Datebase{
public Connection conn=null;
public Statement stmt=null;
public ResultSet rs=null;
public PreparedStatement preparedstmt=null;
private static String dbDriver="com.mysql.jdbc.Driver";
private static String dbUrl="jdbc:mysql://localhost/graatedmanager?useUnicode=true&characterEncoding=gb2312";
private static String dbUser="root";
private static String dbPwd="root";
//打开数据库连接
public Datebase(){}

public static Connection getConnection()
{
java.sql.Connection conn=null;
try
{
Class.forName(dbDriver);
conn=DriverManager.getConnection(dbUrl,dbUser,dbPwd);
}
catch(Exception e)
{
e.printStackTrace();
}
if(conn==null)
{
System.err.println("警告:数据库连接失败!");
}
return conn;

}

//读取结果集
public ResultSet doQuery(String sql)
{
try
{
conn=Datebase.getConnection();
stmt=((java.sql.Connection) conn).createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
}
catch(SQLException e)
{
e.printStackTrace();
}
return rs;
}

//更新数据
public int Prepared_doUpdate(String sql,String parameters[])
{
int result=0;
try
{
conn=Datebase.getConnection();
preparedstmt=conn.prepareStatement(sql);
/* for(int i=0;i<parameters.length;i++)
{
System.out.println(parameters[i]);
}*/
if(parameters!=null)
{
for(int i=0;i<parameters.length;i++)
{
preparedstmt.setString(i+1,parameters[i]);
}
}
result=preparedstmt.executeUpdate();
}
catch(SQLException e)
{
e.printStackTrace();
System.out.println("操作失败");
result=0;
}
return result;

}

//更新数据
public int doUpdate(String sql)
{
int result=0;
try
{
conn=Datebase.getConnection();
stmt=((java.sql.Connection) conn).createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
result=stmt.executeUpdate(sql);
}
catch(SQLException e)
{
result=0;
}
return result;
}

//关闭数据库连接
public void closeConnection()
{
try
{
if(rs!=null)
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
try
{
if(conn!=null)
((Statement) conn).close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}

7. java:”将数据库操作封装成接口“是什么意思要是封装成类我明白是全装在类里的意思,可接口不是没

就是定义接口,完你的类去实现接口

之后在外面调用的时候是通过接口new实现类去调用链接。

这是java中的一种多态表现,是想让你实现这个。。

阅读全文

与java数据库的封装相关的资料

热点内容
文件扫描件制作软件 浏览:419
一个女的变蛇了主角有一个女鬼叫北安 浏览:824
网络用语游戏开小灶什么意思 浏览:413
免费追剧不卡的网站 浏览:921
视频怎么添加网站 浏览:797
威胁网络安全的典型案例有哪些 浏览:42
潇湘溪苑师徒训诫文严苛 浏览:641
剑灵武器大师幻彩石在哪个文件换 浏览:33
男同露骨电影 浏览:664
操作软件映像文件如何下载 浏览:736
安卓logopsd 浏览:761
ipadmini2还原密码 浏览:145
云南精准扶贫大数据管理平台登陆 浏览:6
android支付微信接口开发 浏览:444
和女朋友一起看电影色色的电影 浏览:967
数控编程毕业可以干什么 浏览:966
泰国永恒电影下载 浏览:306
大数据课程推荐 浏览:638
男主是吸血鬼的小说 浏览:192
玩网络游戏有什么坏处 浏览:973

友情链接