<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
    主站蜘蛛池模板: 日韩色视频一区二区三区亚洲| 国产精品亚洲精品观看不卡| 夜夜爽妓女8888视频免费观看| 日本免费一本天堂在线| 2019亚洲午夜无码天堂| 嫩草影院在线免费观看| 亚洲欧美自偷自拍另类视| 日日夜夜精品免费视频| 亚洲色成人网站WWW永久四虎| 无码视频免费一区二三区| 亚洲一区二区三区深夜天堂| 丁香花免费高清视频完整版| 最新亚洲精品国偷自产在线| 日韩在线免费电影| 看Aⅴ免费毛片手机播放| 国产国拍亚洲精品福利 | 一区二区免费国产在线观看 | 亚洲一区影音先锋色资源| 久久99精品国产免费观看| 亚洲精品国产福利片| 日韩欧美一区二区三区免费观看| 亚洲人成色4444在线观看| 四虎影视在线永久免费观看| 国产日韩在线视频免费播放| 亚洲AV成人无码久久精品老人| 日本黄网站动漫视频免费| 亚洲老熟女五十路老熟女bbw| 免费a级毛片视频| 嫩草影院在线播放www免费观看| 亚洲色图视频在线观看| 成年人网站在线免费观看| 日本一区二区三区免费高清在线 | 国产成人免费爽爽爽视频| 精品女同一区二区三区免费播放 | 毛色毛片免费观看| 免费在线观看自拍性爱视频| 亚洲高清国产AV拍精品青青草原 | 色播亚洲视频在线观看| 午夜电影免费观看| 国产免费一区二区三区不卡| 亚洲一级片在线观看|