public interface CityDao { List<CityBean> findCity(int pid) throws SQLException; }
daoImpl具体实现接口方法:
1 2 3 4 5 6 7 8 9 10
public class CityDaoImpl implements CityDao{ @Override public List<CityBean> findCity(int pid) throws SQLException { //1.使用DBUtils的对象 QueryRunner runner=new QueryRunner(JDBCUtil02.getDataSource()); //2.调用方法 String sql="select * from city where pid=?"; return runner.query(sql, new BeanListHandler<CityBean>(CityBean.class),pid); } }
public class MyServletContextListener implements ServletContextListener { //初始化调用 @Override public void contextInitialized(ServletContextEvent sce) { // TODO 自动生成的方法存根 System.out.println("初始化了"); }
//销毁调用 @Override public void contextDestroyed(ServletContextEvent sce) { // TODO 自动生成的方法存根 System.out.println("销毁了"); }
public class Bean01 implements HttpSessionBindingListener{ //自定义属性--可以被修改 private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public void valueBound(HttpSessionBindingEvent event) { // TODO 自动生成的方法存根 System.out.println("值被绑定进来了"); } @Override public void valueUnbound(HttpSessionBindingEvent event) { // TODO 自动生成的方法存根 System.out.println("解绑了"); } }
2. HttpSessionActivationListener(激活)
用于监听session的值
1.钝化 (序列化)
把内存中的数据 存储 到硬盘
2.活化 (反序列化)
把硬盘中的数据 读取 到内存
1.让javaBean 实现该接口即可
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
public class Bean01 implements HttpSessionActivationListener{ //钝化 @Override public void sessionWillPassivate(HttpSessionEvent se) { // TODO 自动生成的方法存根 System.out.println("session被钝化了..."); }
//活化 @Override public void sessionDidActivate(HttpSessionEvent se) { // TODO 自动生成的方法存根 System.out.println("session被活化了..."); } }
public interface WordsDao { //假如传入一个a ---> 返回 aa abc等 ---> 所以要用list集合 List<WordBean> findWords(String word) throws SQLException; }
daoImpl类代码:
1 2 3 4 5 6 7 8 9 10
public class WordsDaoImpl implements WordsDao { @Override public List<WordBean> findWords(String word) throws SQLException { //1.使用DBUtils的对象 QueryRunner runner=new QueryRunner(JDBCUtil02.getDataSource()); //2.调用简便方法 String sql="select * from words where words like ? limit ?"; //模糊查询 限制只能查出5个 return runner.query(sql, new BeanListHandler<WordBean>(WordBean.class),word+"%",5); }
<!-- intergalactoApp adopts a different approach to configuring statement caching --> <property name="maxStatements">0</property> <property name="maxStatementsPerConnection">5</property>
<!-- he's important, but there's only one of him --> <user-overrides user="master-of-the-universe"> <property name="acquireIncrement">1</property> <property name="initialPoolSize">1</property> <property name="minPoolSize">1</property> <property name="maxPoolSize">5</property> <property name="maxStatementsPerConnection">50</property> </user-overrides> </named-config>