java web项目中的数据库连接

java web项目中的数据库连接,第1张

数据库配置地址 换成你项目实际使用mysql的地址

,如果你使用了框架的话,只需要修改下数据库连接的配置文件就可以 一般在propertiey或xml文件中

如果没有,就是在实例化connection的时候 使用实际的数据库地址 以及用户名密码

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)

当然,首先要安装有JDK(一般是JDK1.5.X)。然后安装MySQL,这些都比较简单,具体过程就不说了。配置好这两个环境后,下载JDBC

驱动mysql-connector-java-5.0.5.zip(这个是最新版的)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的

mysql-connector-java-5.0.5-bin.jar加到classpath里,

具体如下:“我的电脑”->“属性” ->“高级” ->

“环境变量”,在系统变量那里编辑classpath,将D:\mysql-connector-java-5.0.5\mysql-

connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加“”,以与前一个classpath区分开。然后确定。

环境配置好了,很简单。现在,先配置Java连接MySQL,设其用户名为“root”,密码为“root”。在命令行或用一个SQL的前端软件创建Database。

我是用SQLyog的前端软件来创建Database的。

先创建数据库:

CREATE DATABASE SCUTCS

接着,创建表:

CREATE TABLE STUDENT ( SNO CHAR(7) NOT NULL, SNAME VARCHAR(8) NOT NULL, SEX CHAR(2) NOT NULL, BDATE DATE NOT NULL, HEIGHT DEC(5,2) DEFAULT 000.00, PRIMARY KEY(SNO) )

然后插入数据,可以用SQL语句insert into <表名>values (value1, value2, ...)

也可以用SQLyog来 *** 作

好了,创建好了。

下面,我们来编写.java文件来演示一下如何访问Java连接MySQL数据库。

import java.sql.* public class JDBCTest { public static void main(String[] args){

驱动程序名

String driver = "com.mysql.jdbc.Driver"

// URL指向要访问的数据库名scutcs

String url = "jdbc:mysql://127.0.0.1:3306/scutcs"

// MySQL配置时的用户名

String user = "root"

// Java连接MySQL配置时的密码

String password = "root"

try {

// 加载驱动程序

Class.forName(driver)

// 连续数据库

Connection conn = DriverManager.getConnection(url, user, password)

if(!conn.isClosed())

System.out.println("Succeeded connecting to the Database!")

// statement用来执行SQL语句

Statement statement = conn.createStatement()

// 要执行的SQL语句

String sql = "select * from student"

结果集

ResultSet rs = statement.executeQuery(sql) System.out.println("-----------------") System.out.println("执行结果如下所示:") System.out.println("-----------------") System.out.println(" 学号" + "\t" + " 姓名") System.out.println("-----------------") String name = null while(rs.next()) {

选择sname这列数据

name = rs.getString("sname")

// 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。

// 然后使用GB2312字符集解码指定的字节数组

name = new String(name.getBytes("ISO-8859-1"),"GB2312")

// 输出结果

System.out.println(rs.getString("sno") + "\t" + name) } rs.close() conn.close() } catch(ClassNotFoundException e) { System.out.println("Sorry,can`t find the Driver!") e.printStackTrace() } catch(SQLException e) { e.printStackTrace() } catch(Exception e) { e.printStackTrace() } } }

接下来我们运行一下看下效果:

D:\testjdbc>javac JDBCTest.java

D:\testjdbc>java JDBCTest

Succeeded connecting to the Database!

-----------------------

执行结果如下所示:

-----------------------

学号 姓名

-----------------------

0104421 周远行

0208123 王义平

0209120 王大力

0309119 李 维

0309203 欧阳美林

完事。


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

原文地址: https://outofmemory.cn/sjk/6675826.html

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

发表评论

登录后才能评论

评论列表(0条)

保存