如何用javaBean连接数据库

如何用javaBean连接数据库,第1张

汗颜了...

看写的这代码.. 写了个demo... 有注释. 可以参考下..

import java.sql.Connection

import java.sql.DriverManager

import java.sql.SQLException

public class ConnectMySQLDatabase {

public static final String URL = "jdbc:mysql://localhost:3306/test"

public static final String USER = "root"

public static final String PASSWORD = "root"

public static final String DRIVER_CLASS = "com.mysql.jdbc.Driver"

static {

try {

// 加载数据库驱动.. 在整个JVM里面. 只需要执行一次就OK.. 所以一般设计成静态代码块里面..

Class.forName(DRIVER_CLASS)

} catch (ClassNotFoundException e) {

e.printStackTrace()

}

}

/**

* 工具类.. 都是静态方法.. 所以一般构造器私有..

*/

private ConnectMySQLDatabase() {

}

/**

* 获得连接的方法.

*

* @return

* @throws SQLException

*/

public static Connection getConnection() throws SQLException {

Connection conn = null

try {

conn = DriverManager.getConnection(URL, USER, PASSWORD)

return conn

} catch (SQLException e) {

throw e

}

}

/**

* 测试方法.

*

* @param args

*/

public static void main(String[] args) {

Connection conn = null

try {

conn = ConnectMySQLDatabase.getConnection()

// do something what u want ...

} catch (SQLException e) {

e.printStackTrace()

} finally {

ConnectMySQLDatabase.close(conn)

}

}

/**

* 关闭数据库连接方法.

*

* @param conn

*/

public static void close(Connection conn) {

if (null != conn) {

try {

conn.close()

} catch (SQLException e) {

e.printStackTrace()

}

conn = null

}

}

}

关于你提出的问题...稍微解释下..

调用Class.forName("org.gjt.mm.mysql.Driver")这个方法.. 可能会throws出..

java.lang.ClassNotFoundException.

所以得. try catch 一下.. 才能通过编译..

DriverManager.getConnection(connStr, "root", "root")

这些异常同理....

"一个项目下的JSP文件能用".. 知道问什么能用吗. ??

应为jsp编译成Servlet的时候.. 所有的异常都给throws了.. 不用显示的写try catch了..

最后提个设计的建议..

类似于这种 *** 作数据库的工具类..

最好设计成全静态的方法.. 不用连次数据库就new个对象.

That's all I want to say..

JAVA Web开发中与数据库的连接 *** 作,配置:

1、新建数据库。

新建登录角色,在新建数据库的时候把数据库的所有权交给你新建的角色。用用户和密码控制数据库。保证数据库的安全。

2、编写context.xml文件 Xml文件的目的是封装用户和密码,也是封装的一种,方便 *** 作。

以下为context.xml文件样例:

<?xml version="1.0" encoding="utf-8"?>

<Context reloadable = "true">

<Resource

name="jdbc/sampleHS"

type="javax.sql.DataSource"

maxActive="14"

maxIdle="10"

username="hstaoshu"

maxWait="5000"

driverClassName="org.postgresql.Driver"

password="hstaoshu"

url="jdbc:postgresql://localhost:5432/hstaoshu"/>

</Context>

详细说明:

name="jdbc/sampleHS"里面的ssampHS是可改名称,建议根据需要自己命名;

username="hstaoshu"

password="hstaoshu"此两项为你新建的数据库登录角色用户名和密码信息,只有匹配 了才能访问。这里简单为了表示,把用户名和密码弄成了跟数据库名字一样。其实这是很不安全的。

url="jdbc:postgresql://localhost:5432/hstaoshu"/>

这是连接数据库的URl,就像访问网站的地址一样。没有这个是无法访问数据库的。localhost:5432表示本地端口。一般不需要改动,如果你在配置数据库的时候改动过端口,那么你需要把它改回来。/hstaoshu是你的数据库名称。

其他选项请勿擅自改动。

3、编写DAO类。

DAO类的作用是与数据连接后,对数据库的一些 *** 作的封装。封装的作用。为了更好的数据管理。

DAO是真正如何使用数据库的关键步骤,前两步只是部署和配置。

private static InitialContext context = null

private DataSource dataSource = null

//一般把跟数据库的连接放在DAO类的构造函数里,只要被实例化,就能和数据库连接。

public BookDAO() {

try {

if (context == null) {

context = new InitialContext()

}

dataSource = (DataSource) context.lookup("java:comp/env/jdbc/sampleHS")

// 连接数据库,前面在context.xml文件配置里的URl

} catch (NamingException e2) {

e2.printStackTrace()

}

}

public Connection getConnection() {

Connection conn = null

try {

conn = dataSource.getConnection()// 获得数据源的连接对象

} catch (SQLException e) {

e.printStackTrace()

}

return conn

}

做完上面的三步 *** 作,开发环境已经完全和数据库连接OK,可以开始数据库的 *** 作了。一般来说,对数据库的 *** 作语句都是提前封装好的。这样修改起来会对下面的代码影响降到最小。

如下:

// ------------------数据库 *** 作语句代码封装------------------

/* 查看所有图书 */

private static final String SELECT_ALL_SQL = "SELECT * FROM book"

那么在使用的时候只要直接调用:

pstmt = conn.prepareStatement(SELECT_ALL_SQL)


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存