怎么使用JAVA连接数据库?

怎么使用JAVA连接数据库?,第1张

java的jsp连接Oracle8/8i/9i数据库(用thin模式) :

testoracle.jsp如下:

<%@ page contentType="text/htmlcharset=gb2312"%>

<%@ page import="Java.sql.*"%>

<html>

<body>

<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance()

String url="jdbc:oracle:thin:@localhost:1521:orcl"

//orcl为你的数据库的SID

String user="scott"

String password="tiger"

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

Statement

stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)

String sql="select * from test"

ResultSet rs=stmt.executeQuery(sql)

while(rs.next()) {%>

您的第一个字段内容为:<%=rs.getString(1)%>

您的第二个字段内容为:<%=rs.getString(2)%>

<%}%>

<%out.print("数据库 *** 作成功,恭喜你")%>

<%rs.close()

stmt.close()

conn.close()

%>

</body>

</html>

扩展资料:

一、JSP句法:

一个JSP页面可以被分为以下几部份:

静态数据,如HTML;JSP指令,如include指令;JSP脚本元素和变量;JSP动作;用户自定义标签

静态数据在输入文件中的内容和输出给HTTP响应的内容完全一致。此时,该JSP输入文件会是一个没有内嵌JAVA或动作的HTML页面。而且,客户端每次请求都会得到相同的响应内容。

JSP指令控制JSP编译器如何去生成servlet:<%@ include file="somefile.jsp" %>

二、根据JSTL标签所提供的功能,可以将其分为5个类别:

核心标签;格式化标签;SQL 标签;XML 标签;JSTL 函数。

参考资料来源:百度百科—JSP (java服务器页面)

ConnectionManager.java

import java.sql.*

public class ConnectionManager {

private static final String DRIVER_CLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver"

private static final String DATABASE_URL="jdbc:sqlserver://localhost:1433DatabaseName=student"

private static final String DATABASE_USER="xz"

private static final String DATABASE_PASSWORD="test"

private ConnectionManager()

{}

/**

* 返回连接

* @return Connection

* @throws DBAccessException

*/

public static Connection getConnection()

{

Connection dbConnection=null

try {

Class.forName(DRIVER_CLASS)

dbConnection=DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD)

} catch (ClassNotFoundException e1) {

// TODO Auto-generated catch block

e1.printStackTrace()

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

return dbConnection

}

/**

* 关闭连接

* @param conn

* Connection

*/

public static void closeConnection(Connection conn)

{

try{

if(conn!=null &&!conn.isClosed())

{

conn.close()

conn=null

}

}catch(Exception ex)

{

System.out.println(ex.getMessage())

}

}

/**

* 关闭结果集

* @param rs

* ResultSet

*/

public static void closeResultSet(ResultSet rs)

{

try{

if(rs!=null)

{

rs.close()

rs=null

}

}catch(Exception ex)

{

System.out.println(ex.getMessage())

}

}

/**

* 关闭SQL预处理语句

* @param pstmt

* PreparedStatement

*/

public static void closePreparedStatement(PreparedStatement pstmt)

{

try{

if(pstmt!=null)

{

pstmt.close()

pstmt=null

}

}catch(Exception ex)

{

System.out.println(ex.getMessage())

}

}

/**

* 关闭SQL语句

* @param stmt

* Statement

*/

public static void closeStatement(Statement stmt)

{

try{

if(stmt!=null)

{

stmt.close()

stmt=null

}

}catch(Exception ex)

{

System.out.println(ex.getMessage())

}

}

public static void main(String[]args)

{

try {

Connection con=ConnectionManager.getConnection()

if(!con.isClosed())

System.out.println("数据库连接成功。。。。。")

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

}

}

User.javapublic class User {

private String username

private String userpass

public String getUsername() {

return username

}

public void setUsername(String username) {

this.username = username

}

public String getUserpass() {

return userpass

}

public void setUserpass(String userpass) {

this.userpass = userpass

}

}

UserDAO.javaimport java.util.*

import java.sql.*

public class UserDAO {

public List<User>getAllUser()

{

Connection conn=null

PreparedStatement pstmt=null

ResultSet rs=null

List<User>userList=new ArrayList<User>()

String sql="select UserName,UserPas from Users"

try {

conn=ConnectionManager.getConnection()

pstmt=conn.prepareStatement(sql)

rs=pstmt.executeQuery()

while(rs.next())

{

User u=new User()

u.setUsername(rs.getString("UserName"))

u.setUserpass(rs.getString("UserPas"))

userList.add(u)

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}finally

{

ConnectionManager.closeConnection(conn)

ConnectionManager.closePreparedStatement(pstmt)

ConnectionManager.closeResultSet(rs)

}

return userList

}

}

Java MySQL 连接

Java 连接 MySQL 需要驱动包,百度就有自行下载,解压后得到jar库文件,然后在对应的项目中导入该库文件。

本实例使用的是 Eclipse,导入 jar 包:

创建测试数据

接下来我们在 MySQL 中创建 RUNOOB 数据库,并创建 websites 数据表,表结构如下:

CREATE TABLE `websites` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `name` char(20) NOT NULL DEFAULT '' COMMENT '站点名称',

  `url` varchar(255) NOT NULL DEFAULT '',

  `alexa` int(11) NOT NULL DEFAULT '0' COMMENT 'Alexa 排名',

  `country` char(10) NOT NULL DEFAULT '' COMMENT '国家',

  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8

数据表显示如下:

连接数据库

以下实例使用了 JDBC 连接 MySQL 数据库,注意一些数据如用户名,密码需要根据你的开发环境来配置:

MySQLDemo.java 文件代码:

package com.runoob.test 

import java.sql.* 

public class MySQLDemo {

 

    // JDBC 驱动名及数据库 URL

    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"  

    static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB"

 

    // 数据库的用户名与密码,需要根据自己的设置

    static final String USER = "root"

    static final String PASS = "123456"

 

    public static void main(String[] args) {

        Connection conn = null

        Statement stmt = null

        try{

            // 注册 JDBC 驱动

            Class.forName("com.mysql.jdbc.Driver")

        

            // 打开链接

            System.out.println("连接数据库...")

            conn = DriverManager.getConnection(DB_URL,USER,PASS)

        

            // 执行查询

            System.out.println(" 实例化Statement对...")

            stmt = conn.createStatement()

            String sql

            sql = "SELECT id, name, url FROM websites"

            ResultSet rs = stmt.executeQuery(sql)

        

            // 展开结果集数据库

            while(rs.next()){

                // 通过字段检索

                int id  = rs.getInt("id")

                String name = rs.getString("name")

                String url = rs.getString("url")

    

                // 输出数据

                System.out.print("ID: " + id)

                System.out.print(", 站点名称: " + name)

                System.out.print(", 站点 URL: " + url)

                System.out.print("\n")

            }

            // 完成后关闭

            rs.close()

            stmt.close()

            conn.close()

        }catch(SQLException se){

            // 处理 JDBC 错误

            se.printStackTrace()

        }catch(Exception e){

            // 处理 Class.forName 错误

            e.printStackTrace()

        }finally{

            // 关闭资源

            try{

                if(stmt!=null) stmt.close()

            }catch(SQLException se2){

            }// 什么都不做

            try{

                if(conn!=null) conn.close()

            }catch(SQLException se){

                se.printStackTrace()

            }

        }

        System.out.println("Goodbye!")

    }

}

以上实例执行输出结果如下:

我有一个微信公众号,经常会分享一些Java技术相关的干货,还有一些学习资源。

如果你喜欢我的分享,可以用微信搜索“Java团长”或者“javatuanzhang”关注。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存