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

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

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

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      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沒(méi)有本線程對(duì)應(yīng)的Connection創(chuàng)建一個(gè)新的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;
    }
    }





    //測(cè)試代碼
    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沒(méi)有本線程對(duì)應(yīng)的Connection創(chuàng)建一個(gè)新的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());
    }
    }
    }
    主站蜘蛛池模板: 18禁超污无遮挡无码免费网站| 日韩精品视频在线观看免费| 中文字幕亚洲男人的天堂网络| 全部免费国产潢色一级| 日韩精品成人无码专区免费| 免费高清在线影片一区| 香蕉97超级碰碰碰免费公| 成人免费福利电影| 亚洲AV无码成H人在线观看| 亚洲AV无码成人精品区蜜桃| 亚洲AV综合色区无码一区| 亚洲色欲www综合网| 亚洲爆乳少妇无码激情| fc2成年免费共享视频18| 最近免费中文字幕大全免费版视频| 亚洲成在人线aⅴ免费毛片| 国产香蕉九九久久精品免费| 免费中文字幕在线观看| 亚洲国产成人久久笫一页| 五月天网站亚洲小说| 亚洲一卡2卡3卡4卡5卡6卡 | 欧美亚洲精品一区二区| 精品久久久久久无码免费| 黄色网址免费大全| 亚洲欧洲中文日韩av乱码| 国产成人精品久久亚洲高清不卡 | 久久久综合亚洲色一区二区三区| 亚洲无码一区二区三区| 十八禁视频在线观看免费无码无遮挡骂过 | 18女人水真多免费高清毛片| 日本a级片免费看| 亚洲av日韩av激情亚洲| 国产亚洲欧美在线观看| 小草在线看片免费人成视久网| 日韩免费毛片视频| 亚洲国产精品久久久久久| 美女视频黄a视频全免费网站一区| 免费国产污网站在线观看15 | 成年人视频在线观看免费| 日本亚洲视频在线| 精品久久亚洲一级α|