zoukankan      html  css  js  c++  java
  • JSP简单访问数据库

    Java代码

    public class DBHelper {

    private String driverName;

    private String url;

    private String user;

    private String password;

    private Connection connection;

    private String createTableSql;

    private String dropTableSql;

    public void getConnection() {

    if (null == connection) {

    try {

    Class.forName(driverName);

    connection = DriverManager.getConnection(url, user, password);

    } catch (ClassNotFoundException | SQLException e) {

    e.printStackTrace();

    }

    }

    }

    public void closeConnection() {

    if (null != connection) {

    try {

    connection.close();

    connection = null; //connection.close won't set the connection to be null

    System.out.println("closed db connection.");

    } catch (SQLException e) {

    e.printStackTrace();

    }

    }

    }

    public void createTable() {

    getConnection();

    Statement stmt = null;

    try {

    stmt = connection.createStatement();

    stmt.execute(createTableSql);

    System.out.println("Executed sql [" + createTableSql + "] success.");

    } catch (SQLException e) {

    e.printStackTrace();

    }

    closeConnection();

    }

    public void dropTable() {

    getConnection();

    Statement stmt = null;

    try {

    stmt = connection.createStatement();

    stmt.execute(dropTableSql);

    System.out.println("Executed sql [" + dropTableSql + "] success.");

    } catch (SQLException e) {

    e.printStackTrace();

    }

    closeConnection();

    }

    public String getDriverName() {

    return driverName;

    }

    public void setDriverName(String driverName) {

    this.driverName = driverName;

    }

    public String getUrl() {

    return url;

    }

    public void setUrl(String url) {

    this.url = url;

    }

    public String getUser() {

    return user;

    }

    public void setUser(String user) {

    this.user = user;

    }

    public String getPassword() {

    return password;

    }

    public void setPassword(String password) {

    this.password = password;

    }

    public String getCreateTableSql() {

    return createTableSql;

    }

    public void setCreateTableSql(String createTableSql) {

    this.createTableSql = createTableSql;

    }

    public String getDropTableSql() {

    return dropTableSql;

    }

    public void setDropTableSql(String dropTableSql) {

    this.dropTableSql = dropTableSql;

    }

    }

      Java代码

    <%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <title>Test connecting mysql db</title>

    </head>

    <body>

    <jsp:useBean id="dbHelper" class="com.jesse.jsp.bean.DBHelper" />

    <jsp:setProperty property="driverName" name="dbHelper" value="com.mysql.jdbc.Driver"/>

    <jsp:setProperty property="url" name="dbHelper" value="jdbc:mysql://192.168.1.104:3306/db_jesse?useUnicode=true&characterEncoding=GBK"/>

    <jsp:setProperty property="user" name="dbHelper" value="jesse"/>

    <jsp:setProperty property="password" name="dbHelper" value="jesse"/>

    <jsp:setProperty property="createTableSql" name="dbHelper" value="create table test_tbl(id int)"/>

    <jsp:setProperty property="dropTableSql" name="dbHelper" value="drop table test_tbl"/>

    <%!

    private int id = 0;

    %>

    <%

    System.out.println(this); //to check if the servlet is singleton

    id++;

    synchronized(com.jesse.jsp.bean.DBHelper.class) {

    dbHelper.createTable();

    System.out.println(id + " created the table.");

    Thread.sleep(5000);

    dbHelper.dropTable();

    System.out.println(id + " dropped the table.");

    }

    %>

    </body>

    </html>

      Java代码

    org.apache.jsp.pages.mysql_jsp@567e0fb8

    Executed sql [create table test_tbl(id int)] success.

    closed db connection.

    1 created the table.

    org.apache.jsp.pages.mysql_jsp@567e0fb8

    Executed sql [drop table test_tbl] success.

    closed db connection.

    2 dropped the table.

    Executed sql [create table test_tbl(id int)] success.

    closed db connection.

    2 created the table.

    Executed sql [drop table test_tbl] success.

    closed db connection.

    2 dropped the table.

      Note:本意是要让log打印出来是哪个session在执行,看到结果...又长知识了 <%! %> 查了下,觉得这种说法有道理,暂不深究: <%%>是代码段,在由jsp转换成Servlet后 <%%>中的代码是放在serive方法中,相当于doGet()和doPost()方法 <%!%>是

    jsp声明,用来定义属性和方法的,在由jsp转换成Servlet后 <%!%>中的代码是放serive方法之外的.

    技术分享:www.kaige123.com

  • 相关阅读:
    declare handler 声明异常处理的语法
    mysql存储过程获取sqlstate message_text
    mongoTemplate操作内嵌文档
    mysql索引之七:组合索引中选择合适的索引列顺序
    mongoDB的操作总结
    explain之三:MYSQL EXPLAIN语句的extended 选项学习体会,分析诊断工具之二
    状态模式
    代码重构----使用java有限状态机来消除太多的if else判断
    断路器(CircuitBreaker)设计模式
    断路器之一:Hystrix 使用与分析
  • 原文地址:https://www.cnblogs.com/kaige123/p/5898160.html
Copyright © 2011-2022 走看看