java监听器初始化_监听器-启动会初始化表 学习笔记:

遇到问题:

数据库连接问题;后面采用固定写法:

解决问题

/**c3p0取得数据源*/

public static DataSource getDataSource() throws Exception {

ComboPooledDataSource cpds = new ComboPooledDataSource();

cpds.setDriverClass("com.mysql.jdbc.Driver");

cpds.setJdbcUrl("jdbc:mysql://192.168.47.196:3306/test");

cpds.setUser("root");

cpds.setPassword("123456");

ComboPooledDataSource datasSource = cpds;

return datasSource;

}

监听器配置:

import java.util.Timer;

import java.util.TimerTask;

import java.util.UUID;

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

import cn.vote.dao.SystemDao;

public class SystemListener implements ServletContextListener {

@Override

public void contextInitialized(ServletContextEvent sce) {

SystemDao systemDao = new SystemDao();

try {

systemDao.createTable("liwen");

systemDao.init();

} catch (Exception e) {

e.printStackTrace();

}

}

@Override

public void contextDestroyed(ServletContextEvent sce) {

try {

SystemDao systemDao = new SystemDao();

systemDao.dropTable("liwen");

} catch (Exception e) {

e.printStackTrace();

}

}

}

web.xml配置

cn.xijie.listener.SystemListener

Java代码

import java.sql.SQLException;

import org.apache.commons.dbutils.QueryRunner;

import cn.xijie.JdbcUtil.JdbcUtil;

public class SystemDao {

//删除表

public void dropTable(String tableName) throws Exception{

QueryRunner runner = new QueryRunner(JdbcUtil.getDataSource());

String sql = "drop table if exists " + tableName;

runner.update(sql);

}

//创建表

public void createTable(String tableName) throws Exception{

QueryRunner runner = new QueryRunner(JdbcUtil.getDataSource());

String sql = "CREATE TABLE IF NOT EXISTS `"+tableName+"`(`runoob_id` INT UNSIGNED AUTO_INCREMENT,`runoob_title` VARCHAR(100) NOT NULL,`runoob_author` VARCHAR(40) NOT NULL,`submission_date` DATE,PRIMARY KEY ( `runoob_id` ))ENGINE=InnoDB DEFAULT CHARSET=utf8;";

runner.update(sql);

}

//初始化数据

public void init() throws Exception{

QueryRunner runner = new QueryRunner(JdbcUtil.getDataSource());

String sql = "INSERT INTO liwen(runoob_title, runoob_author, submission_date) VALUES (\"MySQL\", \"liwen\", NOW());";

runner.update(sql);

}

}

结果:

caa71a18ceb0a5f8493a45c4f00450a0.png

成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值