<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks
    //ThreadLocal第一種用法:

    //建表:
    -- Create table
    create table USERBEAN
    (
      ID       NVARCHAR2(40) not null,
      USERNAME NVARCHAR2(40),
      PASSWORD NVARCHAR2(40)
    )
    tablespace USERS
      pctfree 10
      initrans 1
      maxtrans 255
      storage
      (
        initial 64K
        minextents 1
        maxextents unlimited
      );
    -- Create/Recreate primary, unique and foreign key constraints 
    alter table USERBEAN
      add constraint SSSID primary key (ID)
      using index 
      tablespace USERS
      pctfree 10
      initrans 2
      maxtrans 255
      storage
      (
        initial 64K
        minextents 1
        maxextents unlimited
      );





    package com.abin.lee.collection.threadlocal;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    public class MyThreadLocal {
    //使用ThreadLocal保存Connection變量
    public static ThreadLocal<Connection> threadLocal = new ThreadLocal<Connection>();
    private static final String URL = "jdbc:oracle:thin:@localhost:1521:XE";
    private static final String USERNAME = "abing";
    private static final String PWD = "abing";
    public static Connection getConnection() {
    Connection connection = null;
    String url = "";
    //如果connThreadLocal沒有本線程對應的Connection創建一個新的Connection,并將其保存到線程本地變量中。
    if (threadLocal.get() == null) {
    try {
    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
    connection = DriverManager.getConnection(URL, USERNAME, PWD);
    threadLocal.set(connection);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }else {
    return threadLocal.get();//直接返回線程本地變量
    }
    return connection;
    }
    public static void remove() {
    threadLocal.remove();
    }
    }




    package com.abin.lee.collection.threadlocal;
    import java.io.Serializable;
    public class UserBean implements Serializable{
    private String id;
    private String username;
    private String password;
    public String getId() {
    return id;
    }
    public void setId(String id) {
    this.id = id;
    }
    public String getUsername() {
    return username;
    }
    public void setUsername(String username) {
    this.username = username;
    }
    public String getPassword() {
    return password;
    }
    public void setPassword(String password) {
    this.password = password;
    }
    }





    //測試代碼
    package com.abin.lee.collection.threadlocal;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.util.ArrayList;
    import java.util.List;
    public class OracleOperate {
    public static List<UserBean> findAll(){
    Connection conn=null;
    PreparedStatement ps=null;
    ResultSet rs=null;
    String sql="select * from userbean order by id desc";
    List<UserBean> list=new ArrayList<UserBean>();
    UserBean user=null;
    try {
    conn=MyThreadLocal.getConnection();
    ps=conn.prepareStatement(sql);
    rs=ps.executeQuery();
    while (rs.next()&&rs!=null) {
    user=new UserBean();
    user.setId(rs.getString("id"));
    user.setUsername(rs.getString("username"));
    user.setPassword(rs.getString("password"));
    list.add(user);
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    return list;
    }
    public static void main(String[] args) {
    List<UserBean> list=findAll();
    for(UserBean lst:list){
    System.out.println("id="+lst.getId());
    System.out.println("username="+lst.getUsername());
    System.out.println("id="+lst.getPassword());
    }
    }
    }










    //ThreadLocal第二種用法: 
    package com.abin.lee.collection.threadlocal;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    public class MyThreadLocal {
    private static final String URL = "jdbc:oracle:thin:@localhost:1521:XE";
    private static final String USERNAME = "abing";
    private static final String PWD = "abing";
    //使用ThreadLocal保存Connection變量
    public static ThreadLocal<Connection> threadLocal = new ThreadLocal<Connection>(){
    protected Connection initialValue() {
    Connection connection = null;
    //如果connThreadLocal沒有本線程對應的Connection創建一個新的Connection,并將其保存到線程本地變量中。
    if (connection == null) {
    try {
    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
    connection = DriverManager.getConnection(URL, USERNAME, PWD);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    return connection;
    }
    };
    public static Connection getConnection() {
    return threadLocal.get();
    }
    public static void remove() {
    threadLocal.remove();
    }
    }




    package com.abin.lee.collection.threadlocal;
    import java.io.Serializable;
    public class UserBean implements Serializable{
    private String id;
    private String username;
    private String password;
    public String getId() {
    return id;
    }
    public void setId(String id) {
    this.id = id;
    }
    public String getUsername() {
    return username;
    }
    public void setUsername(String username) {
    this.username = username;
    }
    public String getPassword() {
    return password;
    }
    public void setPassword(String password) {
    this.password = password;
    }
    }






    package com.abin.lee.collection.threadlocal;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.util.ArrayList;
    import java.util.List;
    public class OracleOperate {
    public static List<UserBean> findAll(){
    Connection conn=null;
    PreparedStatement ps=null;
    ResultSet rs=null;
    String sql="select * from userbean order by id desc";
    List<UserBean> list=new ArrayList<UserBean>();
    UserBean user=null;
    try {
    conn=MyThreadLocal.getConnection();
    ps=conn.prepareStatement(sql);
    rs=ps.executeQuery();
    while (rs.next()&&rs!=null) {
    user=new UserBean();
    user.setId(rs.getString("id"));
    user.setUsername(rs.getString("username"));
    user.setPassword(rs.getString("password"));
    list.add(user);
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    return list;
    }
    public static void main(String[] args) {
    List<UserBean> list=findAll();
    for(UserBean lst:list){
    System.out.println("id="+lst.getId());
    System.out.println("username="+lst.getUsername());
    System.out.println("id="+lst.getPassword());
    }
    }
    }
    posted on 2012-09-01 17:03 abin 閱讀(461) 評論(0)  編輯  收藏 所屬分類: JavaMultithread
    主站蜘蛛池模板: 激情亚洲一区国产精品| 精品一区二区三区免费| 久久不见久久见中文字幕免费 | 亚洲日韩乱码中文无码蜜桃| 久操免费在线观看| 亚洲一区二区在线免费观看| 国产自国产自愉自愉免费24区| 亚洲AV无码一区二区三区系列 | 国内精品免费视频精选在线观看| 亚洲色中文字幕无码AV| a级毛片100部免费观看| 亚洲av无码乱码国产精品| 99re视频精品全部免费| 亚洲国产成人综合| 国产福利免费在线观看| 免费人成在线观看播放a| 在线精品亚洲一区二区小说| 免费一级毛片无毒不卡| 亚洲电影唐人社一区二区| 好吊妞在线新免费视频| 免费大片av手机看片高清| 亚洲无av在线中文字幕| 精品免费人成视频app| 亚洲精品久久无码av片俺去也| 免费h成人黄漫画嘿咻破解版| 久久性生大片免费观看性| 在线电影你懂的亚洲| 精品久久久久久久免费加勒比| 日本精品久久久久久久久免费| 亚洲国产精品无码久久久不卡| 99免费观看视频| 亚洲精品又粗又大又爽A片| 亚洲日韩在线观看免费视频| 免费人成视频在线观看网站| 亚洲国产美女视频| 亚洲人成无码网站久久99热国产| 97在线视频免费播放| 国产亚洲漂亮白嫩美女在线 | 亚洲永久精品ww47| 成人免费无码大片a毛片软件| 国产乱子伦精品免费视频|