当前位置:首页 » 操作系统 » javaweb数据库实例

javaweb数据库实例

发布时间: 2022-09-07 13:07:34

1. 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!

2. javaweb数据库操作

//该方法返回参数为ArrayList对象
public ArrayList executeQuery(String sqlString) {
//定义一个ArrayList对象的变量listSet
ArrayList listSet = new ArrayList();
//获取数据库列名
ResultSetMetaData rsmd = null;
//定义一个Map对象rsTree
Map rsTree;
//返回集的列数
int numberOfColumns;
try {
//连接数据库
conn = startConn(conn);
//实例化Statement对象
st = conn.createStatement();
//通过SQL查询出来的结果集【这里上面应该是少定义了一个结果集】
rs = st.executeQuery(sqlString);
//取数据库的列名
rsmd = rs.getMetaData();
//获得列数
numberOfColumns = rsmd.getColumnCount();
//去除结果集中的数据while遍历【rs.next():代表rs中有下一个有数据,就执行while中的方法】
while(rs.next()){
//定义rsTree为一个固定长度的HashMap,长度为numberOfColumns
rsTree = new HashMap(numberOfColumns);
//循环,将查询出来的列明和对应的数据放到Map对象rsTree中
for(int i = 1;i <= numberOfColumns;i++){
//【rsmd.getColumnName(i):获取查询结果的列名】【rs.getObject(i):获取结果集中对应的数据】
rsTree.put(rsmd.getColumnName(i), rs.getObject(i));
}
//将Map对象rsTree放到listSet对象中
listSet.add(rsTree);
}
}catch (SQLException e) {
//当出现SQL异常时,输出以下内容
System.out.println("查询数据库数据时发生错误!");
}finally{
//不管执行操作如何,始终关闭数据库连接
closeConn(conn, st, rs);
}
//返回ArrayList对象listSet
return listSet;
}

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

4. java web中如何用ajax技术来检验注册的用户名数据库中是否存在的实例求大神赐教!!!!

		<script>
$(document).ready(function(){
//为inputForm注册validate函数
$("#inputForm").validate({
rules:{
username:{
remote:"${ctx}/user/user!checkUser.action"
}
},
messages:{
username:{
remote:"用户名已存在"
}
}
});
});
</script>

用jquery.validate实现。其中,inputForm是你form表单的id,username是用户名输入框的name属性,remote后边是action的链接,checkUser返回true或是false(当然得是json格式的)

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

1.首先要移动mysql-connector-java-5.1.44-bin.jar到tomactde的lib目录下(我的目录是这样:F: omcatapache-tomcat-7.0.63lib)这是一个连接数据库要用到包,一般在下载mysql的时候选择配置会下载,然后移动到tomact的lib下;

拓展资料:

Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP和第三方框架等等。Java技术对Web领域的发展注入了强大的动力。

Java的Web框架虽然各不相同,但基本也都是遵循特定的路数的:使用Servlet或者Filter拦截请求,使用MVC的思想设计架构,使用约定,XML或 Annotation实现配置,运用Java面向对象的特点,面向对象实现请求和响应的流程,支持Jsp,Freemarker,Velocity等视图。

6. java web 项目启动时加载数据库的数据到缓存中,如何实现求思路和实例。谢谢高峰相送

可以使用servlet的init方法访问数据库加载数据到java集合中,java集合相当于一块缓存,适用于一般的数据。

7. 在java web中怎样将数据存储在数据库中

Java可以使用JDBC对数据库进行读写。JDBC访问一般分为如下流程:
1、加载JDBC驱动程序:
在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),
这通过java.lang.Class类的静态方法forName(String className)实现。
例如:
try{
//加载MySql的驱动类
Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("找不到驱动程序类 ,加载驱动失败!");
e.printStackTrace() ;
}
成功加载后,会将Driver类的实例注册到DriverManager类中。
2、提供JDBC连接的URL
?连接URL定义了连接数据库时的协议、子协议、数据源标识。
?书写形式:协议:子协议:数据源标识
协议:在JDBC中总是以jdbc开始
子协议:是桥连接的驱动程序或是数据库管理系统名称。
数据源标识:标记找到数据库来源的地址与连接端口。
例如:(MySql的连接URL)
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为
gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。
3、创建数据库的连接
?要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。
?使用DriverManager的getConnectin(String url,String username,String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。
例如:
//连接MySql数据库,用户名和密码都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println("数据库连接失败!");
se.printStackTrace() ;
}
4、创建一个Statement
?要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
具体的实现方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;
5、执行SQL语句
Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate和execute
1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。
2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。
具体实现的代码:
ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
int rows = stmt.executeUpdate("INSERT INTO ...") ;
boolean flag = stmt.execute(String sql) ;
6、处理结果
两种情况:
1、执行更新返回的是本次操作影响到的记录数。
2、执行查询返回的结果是一个ResultSet对象。
ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。
使用结果集(ResultSet)对象的访问方法获取数据:
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1); // 此方法比较高效(列是从左到右编号的,并且从列1开始)
}
7、关闭JDBC对象
操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:
1、关闭记录集
2、关闭声明
3、关闭连接对象
if(rs != null){ // 关闭记录集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 关闭声明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(conn != null){ // 关闭连接对象
try{
conn.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}

8. 谁有java web中对数据库的增删改查的完整例子吗,

文件太大 上传不了。。。。我给你看下部分代码public class CommentServlet extends HttpServlet {private static final long serialVersionUID = -2540110714710583202L;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//获取从放入request中的method的值request.setCharacterEncoding("UTF-8");String method = request.getParameter("method");if (method == null) {method = "";}//判断method的值调用不同方法if (method.equals("add")) {add(request, response);} else if (method.equals("admin")) {admin(request, response);} else if (method.equals("delete")) {delete(request, response);} else {admin(request, response);}}public void add(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String name = request.getParameter("name");String content = request.getParameter("content");String blog_id = request.getParameter("blog_id");if (name == null | name.equals("")) {name = "匿名";}String sql = "insert into comment (username,content,blog_id,createdtime) values(?,?,?,now())";String params[] = { name, content, blog_id };QueryRunner qr = DbHelper.getQueryRunner();try {qr.update(sql, params);} catch (SQLException e) {e.printStackTrace();}response.sendRedirect("/blog/servlet/HomeServlet?method=display&id="+ blog_id);}public void admin(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {HttpSession session = request.getSession();User user = (User) session.getAttribute("user");if (user == null) {response.sendRedirect("/blog");} else {String sql = "select c.id,username,c.content,c.createdtime,title from comment c,blog b where blog_id=b.id order by c.id desc";QueryRunner qr = DbHelper.getQueryRunner();List list = null;try {list = (List) qr.query(sql, new BeanListHandler(Comment.class));} catch (SQLException e) {e.printStackTrace();}request.setAttribute("list", list);request.getRequestDispatcher("/admin/adminCommentList.jsp").forward(request, response);}}public void delete(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {HttpSession session = request.getSession();User user = (User) session.getAttribute("user");if (user == null) {response.sendRedirect("/blog");} else {String id = request.getParameter("id");String ctid = request.getParameter("ctid");String id2 = (String) request.getParameter("id2");System.out.println(id2);if (ctid != null) {id = ctid;}String sql = "delete from comment where id=" + id;QueryRunner qr = DbHelper.getQueryRunner();try {qr.update(sql);} catch (SQLException e) {e.printStackTrace();}if (ctid == null) {response.sendRedirect("CommentServlet?method=admin");} else {request.setAttribute("id2", id2);request.getRequestDispatcher("HomeServlet?method=display").forward(request, response);}}}}下面这个类是连接数据库的 package cn.com.jobe.blog; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; import org.apache.commons.dbutils.QueryRunner; public class DbHelper { public static QueryRunner getQueryRunner() { // 数据源对象可以理解为连接池的管理者,通过他可以获取数据库的链接 DataSource ds = null; Context context; try { // 通过在context.xml文件,设定的数据源对象的名字,获取数据源对象 context = new InitialContext(); ds = (DataSource) context.lookup("java:comp/env/jdbc/mysqlds"); } catch (NamingException e) { System.out.println("获取数据源失败!"); } QueryRunner qr = new QueryRunner(ds); return qr; } }

9. 关于javaweb获取数据库实例地址的几个问题,自学的,求解,谢谢

1、实例地址对不同的数据库类型(比如mysql/oracle/sqlite之类有各自不同的固定写法),其中变动参数取决于数据库本身,比如数据库地址、实例名和用户名等等
2、具体含义建议你搜索下比如jdbc oracle这种,有详细说明,以你上面为例
jdbc:oracle:thin:@127.0.0.1:1521:orcl
jdbc:表示采用jdbc方式连接数据库
oracle:表示连接的是oracle数据库
thin:表示连接时采用thin模式(oracle中有两种模式)
127.0.0.1是指数据库在本机,端口为默认的1521
orcl是oracle实例名

3、你图中只是几个预定义的字符串,并未生成任何实例,真正的实例你要看这个类的其它部分。
4、实例对象是对你的代码而言,数据库中的实例在不同数据库中含义不一样。

10. 我用java做web开发,里面有连接服务器数据库的代码,,我想实现连接服务器这段代码可以实现服务器

你是要切换数据库吗?如果是切换数据库可以使用spring来实现动态数据源切换;
你可以在spring中配置多个数据库服务器的数据源,然后通过java代码来控制动态注入不同数据源,来实现数据库切换

热点内容
暴风影音缓存在哪里 发布:2025-05-12 12:42:03 浏览:532
access数据库exe 发布:2025-05-12 12:39:04 浏览:622
五开的配置是什么 发布:2025-05-12 12:36:37 浏览:358
加密ovpn 发布:2025-05-12 12:01:55 浏览:44
python练手项目 发布:2025-05-12 11:14:07 浏览:122
压缩听算音频 发布:2025-05-12 10:58:12 浏览:801
数据库系统报告 发布:2025-05-12 10:43:17 浏览:603
日产高配有哪些配置 发布:2025-05-12 10:32:16 浏览:475
大众朗逸哪个配置值得入手 发布:2025-05-12 10:31:20 浏览:505
压缩包的后缀 发布:2025-05-12 10:20:35 浏览:944