当前位置:首页 » 数据仓库 » javaweb和数据库连接
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

javaweb和数据库连接

发布时间: 2022-10-02 20:49:48

1. java web项目中的数据库连接

首先你要检查你的数据库的端口号是否正确,接下来你要确定项目中是否导入数据连接的jar包,再接着就是看你连接的数据库sqlserver是否开启,数据表是否存在于数据库中,最后看你的数据库账号,密码是否设置正确

2. 什么是Java web开发中数据库的连接池技术,它的原理大致是什么

什么是连接池
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。
为什么要使用连接池
数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。 一个数据库连接对象均对应一个物理数据库连接,每次操作都打开一个物理连接,使用完都关闭连接,这样造成系统的 性能低下。 数据库连接池的解决方案是在应用程序启动时建立足够的数据库连接,并讲这些连接组成一个连接池(简单说:在一个“池”里放了好多半成品的数据库联接对象),由应用程序动态地对池中的连接进行申请、使用和释放。对于多于连接池中连接数的并发请求,应该在请求队列中排队等待。并且应用程序可以根据池中连接的使用率,动态增加或减少池中的连接数。 连接池技术尽可能多地重用了消耗内存地资源,大大节省了内存,提高了服务器地服务效率,能够支持更多的客户服务。通过使用连接池,将大大提高程序运行效率,同时,我们可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。

3. java web与数据库相连,具体怎么做

采用JDBC或JDBC-ODBC的方式连接。例如import java.sql.*;public class DB {
private static final String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; // 驱动类
private static final String URL = "jdbc:sqlserver://127.0.0.1:1433;databaseName=customerDB"; // 连接字符串
private static final String UID = "sa"; // 登陆数据库用户
private static final String UPASS = ""; // 登陆数据库密码 private Connection con = null; // 数据库连接对象
private Statement st = null; // 数据库语句执行对象
private PreparedStatement pst = null; // 数据库预编译语句执行对象
// private CallableStatement cst=null; //数据库存储过程执行对象
private ResultSet rs = null; // 数据库查询结果对象 /**
* 数据库操作类构造方法
*/
public DB() {
try {
Class.forName(DRIVER);
con = DriverManager.getConnection(URL, UID, UPASS);
st = con.createStatement();
System.out.println("DataBase connected success.");
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println("DataBase connected error.");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("DataBase connected error.");
}
} /**
* 执行数据库查询语句
*
* @param sql
* 查询语句
* @return 查询结果集
*/
public ResultSet execQuery(String sql) {
try {
System.out.println("execute '" + sql + "'");
rs = st.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
System.out.println("Erro:execute this statement '" + sql + "'");
}
return rs;
} /**
* 执行数据库预编译查询语句
*
* @param sql
* 预编译查询语句
* @param param
* 预编译查询语句参数
* @return 查询结果集
*/
public ResultSet execQuery(String sql, String[] param) {
try {
pst = con.prepareStatement(sql);
for (int i = 0; i < param.length; i++) {
pst.addBatch(param[i]);
}
rs = pst.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
} /**
* 执行数据库增删改操作语句
*
* @param sql
* 增删改语句
* @return 影响行数
*/
public int execUpdate(String sql) {
int res = 0;
try {
System.out.println("execute '" + sql + "'");
res = st.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
System.out.println("Erro:execute this statement '" + sql + "'");
}
return res;
} /**
* 执行数据库预编译的增删改操作语句
*
* @param sql
* 预编译增删改语句
* @param param
* 预编译语句参数
* @return 影响行数
*/
public int execUpdate(String sql, String[] param) {
int res = 0;
try {
pst = con.prepareStatement(sql);
for (int i = 0; i < param.length; i++) {
pst.addBatch(param[i]);
}
} catch (SQLException e) {
e.printStackTrace();
}
return res;
} /**
* 关闭数据库连接并释放资源
*/
public void close() {
try {
if (rs != null) {
rs.close();
rs = null;
}
if (st != null) {
st.close();
st = null;
}
if (pst != null) {
pst.close();
pst = null;
}
if (con != null && !con.isClosed()) {
con.close();
con = null;
}
System.out.println("DataBase shutdown success.");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("DataBase shutdown error.");
}
}
}

4. javaweb怎么连接mysql数据库

安装好mysql之后,那么你现在应该安装JDK了(JDK1.6就可以)
安装好JDK之后,就是安装Eclipse了,要支持JDK版本,Eclipse安装的时候会自动去找JDK安装位置的,如果你是解压版的Eclipse,就要配置eclipse.ini文件了,将对应的JDK配置好,这些已经准备就绪的时候,就到mysql中创建数据库和表
先创建数据库:
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, ...);

5. javaweb怎么连接mysql数据库

当然,首先要安装有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!

6. javaweb怎么连接mysql数据库

用jdbc就可以。。

package com.hu.demo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DBHelper {
public static final String url = "jdbc:mysql://127.0.0.1/student";
public static final String name = "com.mysql.jdbc.Driver";
public static final String user = "root";
public static final String password = "root";

public Connection conn = null;
public PreparedStatement pst = null;

public DBHelper(String sql) {
try {
Class.forName(name);//指定连接类型
conn = DriverManager.getConnection(url, user, password);//获取连接
pst = conn.prepareStatement(sql);//准备执行语句
} catch (Exception e) {
e.printStackTrace();
}
}

public void close() {
try {
this.conn.close();
this.pst.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

7. javaweb怎么连接mysql数据库

import java.sql.*;
class MysqlDb {
public static void DB(String sql) {
// 驱动程序名
String driver = "com.mysql.jdbc.Driver";
// url指向的数据库
String url = "jdbc:mysql://localhost:3306/test";
// MYSQL用户名
String user = "root";
// MYSQL密码
String password = "root";
try {
// 加载驱动程序
Class.forName(driver);
// 连接数据库
Connection conn = DriverManager.getConnection(url, user, password);
// statement用来执行SQL语句
Statement statement = conn.createStatement();
//执行查询SQL
ResultSet rs = statement.executeQuery(sql);
//如表字段有:name,age,card等
while (rs.next()) {
//取值
System.out.println(rs.getString("name"));
System.out.println(rs.getInt("age"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
MysqlDb.DB("select * from t_user");
}
}

和普通的程序的原理过程是相似 的。只是WEB最好写成库,方便多地方调用
~

8. java web连接数据库

首先你要检查你的数据库的
端口号
是否正确,接下来你要确定项目中是否导入数据连接的JAR包,再接着就是看你连接的数据库
SQLserver
是否开启,数据表是否存在于数据库中,最后看你的数据库账号,密码是否设置正确

9. JAVA web 与数据库的连接到底是怎样连的啊

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);

10. java web与数据库相连,具体怎么做

采用JDBC或JDBC-ODBC的方式连接。 例如 import java.sql.*; public class DB { private static final String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; // 驱动类 private static final String URL = "jdbc:sqlserver://127.0.0.1:1433;databaseName=customerDB"; // 连接字符串 private static final String UID = "sa"; // 登陆数据库用户 private static final String UPASS = ""; // 登陆数据库密码 private Connection con = null; // 数据库连接对象 private Statement st = null; // 数据库语句执行对象 private PreparedStatement pst = null; // 数据库预编译语句执行对象 // private CallableStatement cst=null; //数据库存储过程执行对象 private ResultSet rs = null; // 数据库查询结果对象 /** * 数据库操作类构造方法 */ public DB() { try { Class.forName(DRIVER); con = DriverManager.getConnection(URL, UID, UPASS); st = con.createStatement(); System.out.println("DataBase connected success."); } catch (ClassNotFoundException e) { e.printStackTrace(); System.out.println("DataBase connected error."); } catch (SQLException e) { e.printStackTrace(); System.out.println("DataBase connected error."); } } /** * 执行数据库查询语句 * * @param sql * 查询语句 * @return 查询结果集 */ public ResultSet execQuery(String sql) { try { System.out.println("execute '" + sql + "'"); rs = st.executeQuery(sql); } catch (SQLException e) { e.printStackTrace(); System.out.println("Erro:execute this statement '" + sql + "'"); } return rs; } /** * 执行数据库预编译查询语句 * * @param sql * 预编译查询语句 * @param param * 预编译查询语句参数 * @return 查询结果集 */ public ResultSet execQuery(String sql, String[] param) { try { pst = con.prepareStatement(sql); for (int i = 0; i < param.length; i++) { pst.addBatch(param[i]); } rs = pst.executeQuery(); } catch (SQLException e) { e.printStackTrace(); } return rs; } /** * 执行数据库增删改操作语句 * * @param sql * 增删改语句 * @return 影响行数 */ public int execUpdate(String sql) { int res = 0; try { System.out.println("execute '" + sql + "'"); res = st.executeUpdate(sql); } catch (SQLException e) { e.printStackTrace(); System.out.println("Erro:execute this statement '" + sql + "'"); } return res; } /** * 执行数据库预编译的增删改操作语句 * * @param sql * 预编译增删改语句 * @param param * 预编译语句参数 * @return 影响行数 */ public int execUpdate(String sql, String[] param) { int res = 0; try { pst = con.prepareStatement(sql); for (int i = 0; i < param.length; i++) { pst.addBatch(param[i]); } } catch (SQLException e) { e.printStackTrace(); } return res; } /** * 关闭数据库连接并释放资源 */ public void close() { try { if (rs != null) { rs.close(); rs = null; } if (st != null) { st.close(); st = null; } if (pst != null) { pst.close(); pst = null; } if (con != null && !con.isClosed()) { con.close(); con = null; } System.out.println("DataBase shutdown success."); } catch (SQLException e) { e.printStackTrace(); System.out.println("DataBase shutdown error."); } } }