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

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

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

    java學習

    java學習

     

    Spring對jdbc的支持

    在applicationContext.xml文件里寫:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:p
    ="http://www.springframework.org/schema/p"
             xmlns:aop
    ="http://www.springframework.org/schema/aop"
           xsi:schemaLocation
    ="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
    ">

    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="driverClass"  value="com.mysql.jdbc.Driver"/>
    <property name="jdbcUrl"  value="jdbc:mysql:///mydb"/>
    <property name="properties">
    <props>
        
    <prop key="user">root</prop>
        
    <prop key="password">root</prop>
        
    </props>
    </property>
    </bean>
    <bean id="simpleJdbcTemplate"  class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">
        
    <constructor-arg ref="dataSource"></constructor-arg>
    </bean>
    <bean  id="userdao" class="com.yjw.dao.UserDao">
        
    <property name="jdbcTemplate" ref="simpleJdbcTemplate"></property>
    </bean>
    </beans>
    在UserDao里寫:
    public class UserDao {

        
    //相當于bdhelp

        
    private SimpleJdbcTemplate  jdbcTemplate;
        
        
        
    public  void  save(User user){
            String  sql 
    = "INSERT INTO t_user (username,password) VALUES(?,?)";
            jdbcTemplate.update(sql,user.getName(),user.getPassword());
        }

        
        
    public  void  del(int id){
            String sql 
    = "DELETE  FROM t_user WHERE id=?";
            jdbcTemplate.update(sql, id);
        }

        
        
    public  void  update(User user){
            String sql 
    = "UPDATE t_user SET username=?,password=? WHERE id=?";
            jdbcTemplate.update(sql, user.getName(),user.getPassword(),user.getId());
        }

        
        
    public  User findById(int id){
            String sql 
    = "SELECT id, username,password FROM t_user  WHERE id= ? ";
            
    return  (User) jdbcTemplate.queryForObject(sql, new  UserRowmapper(), id);
        }

        
    public  List<User>  findAll(){
            String sql 
    = "SELECT  id,username,password FROM t_user ";
            
    return jdbcTemplate.query(sql, new UserRowmapper() );
        }


        
    private  class UserRowmapper  implements  RowMapper<User> {

            
    public User mapRow(ResultSet rs, int rowNum) throws SQLException {
            User u 
    = new  User();
            u.setId(rs.getInt(
    "id"));
            u.setName(rs.getString(
    "username"));
            u.setPassword(rs.getString(
    "password"));
                
    return u;
            }

        
            
        }

        
    //set,get
        public void setJdbcTemplate(@SuppressWarnings("deprecation") SimpleJdbcTemplate jdbcTemplate) {
            
    this.jdbcTemplate = jdbcTemplate;
        }

        
    }

    以上就可以了!
    在上面的dao里可以用占位符這樣寫:
    public  void  update(User user){
            String sql 
    = "UPDATE t_user SET username=:name,password=:pwd WHERE id=:id";
            Map
    <String,String>  map = new HashMap<String, String>();
            map.put(
    "name", user.getName());
            map.put(
    "pwd", user.getPassword());
            map.put(
    "id", String.valueOf(user.getId()));
            jdbcTemplate.update(sql, map);
        }

    還可以這樣寫:
    public  void  update(User user){
            String sql 
    = "UPDATE t_user SET username=:name,password=:password WHERE id=:id";
        SqlParameterSource  ss 
    = new  BeanPropertySqlParameterSource(user);
        
            jdbcTemplate.update(sql, ss);
        }

    或者這樣寫:
    public  void  update(User user){
            String sql 
    = "UPDATE t_user SET username=:name,password=:password WHERE id=:id";
        SqlParameterSource  ss 
    = new  MapSqlParameterSource().addValue("name", user.getName()).addValue("password", user.getPassword()).addValue("id", String.valueOf(user.getId()));
        
            jdbcTemplate.update(sql, ss);
        }

    但是上面倆種方法的占位符的名字要和實體類中get和set方法后面的一樣
    或者applicationContext.xml這樣寫:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:p
    ="http://www.springframework.org/schema/p"
             xmlns:aop
    ="http://www.springframework.org/schema/aop"
           xsi:schemaLocation
    ="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
    ">

    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="driverClass"  value="com.mysql.jdbc.Driver"/>
    <property name="jdbcUrl"  value="jdbc:mysql:///mydb"/>
    <property name="properties">
    <props>
        
    <prop key="user">root</prop>
        
    <prop key="password">root</prop>
        
    </props>
    </property>
    </bean>
    <bean id="simpleJdbcTemplate"  class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">
        
    <constructor-arg ref="dataSource"></constructor-arg>
    </bean>
    <bean  id="userdao" class="com.yjw.dao.UserDao">
        
    <property name="dataSource" ref="dataSource"></property>
    或者寫
        
    <!-- <property name="jdbcTemplate"  ref="simpleJdbcTemplate"></property> -->
    </bean>
    </beans>
    Dao里這樣寫:
    public class UserDao extends SimpleJdbcDaoSupport{

        
    //相當于bdhelp

        
    //private SimpleJdbcTemplate  jdbcTemplate;
        
        
        
    public  void  save(User user){
            String  sql 
    = "INSERT INTO t_user (username,password) VALUES(?,?)";
            getSimpleJdbcTemplate().update(sql,user.getName(),user.getPassword());
        }

        
        
    public  void  del(int id){
            String sql 
    = "DELETE  FROM t_user WHERE id=?";
            getSimpleJdbcTemplate().update(sql, id);
        }

        
        
    public  void  update(User user){
            String sql 
    = "UPDATE t_user SET username=:name,password=:password WHERE id=:id";
        SqlParameterSource  ss 
    = new  MapSqlParameterSource().addValue("name", user.getName()).addValue("password", user.getPassword()).addValue("id", String.valueOf(user.getId()));
        
        getSimpleJdbcTemplate().update(sql, ss);
        }

        
        
    public  User findById(int id){
            String sql 
    = "SELECT id, username,password FROM t_user  WHERE id= ? ";
            
    return  (User) getSimpleJdbcTemplate().queryForObject(sql, new  UserRowmapper(), id);
        }

        
    public  List<User>  findAll(){
            String sql 
    = "SELECT  id,username,password FROM t_user ";
            
    return getSimpleJdbcTemplate().query(sql, new UserRowmapper() );
        }


        
    private  class UserRowmapper  implements  RowMapper<User> {

            
    public User mapRow(ResultSet rs, int rowNum) throws SQLException {
            User u 
    = new  User();
            u.setId(rs.getInt(
    "id"));
            u.setName(rs.getString(
    "username"));
            u.setPassword(rs.getString(
    "password"));
                
    return u;
            }

        
            
        }

        
    //set,get
    /*    public void setJdbcTemplate(SimpleJdbcTemplate jdbcTemplate) {
            this.jdbcTemplate = jdbcTemplate;
        }
    */

        
    }

    posted on 2012-05-02 10:41 楊軍威 閱讀(6067) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    常用鏈接

    留言簿

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产黄在线播放免费观看| 最好看最新的中文字幕免费| 亚洲色无码一区二区三区| 十九岁在线观看免费完整版电影| 亚洲免费闲人蜜桃| 亚洲人成电影网站免费| 亚洲精品国自产拍在线观看| 国产精品hd免费观看| 亚洲精品中文字幕无乱码| 日批日出水久久亚洲精品tv| 久久久久国产精品免费看| 亚洲av无码一区二区三区四区 | xxxxxx日本处大片免费看| 亚洲大片在线观看| 免费黄色小视频网站| 日日麻批免费40分钟无码| 男人的天堂av亚洲一区2区| 亚洲成av人影院| 国产不卡免费视频| 免费在线观看视频网站| www一区二区www免费| 亚洲中文字幕久久久一区| 久久久久久久尹人综合网亚洲| 免费一级做a爰片久久毛片潮| 热久久精品免费视频| 在线观看特色大片免费网站| 真正全免费视频a毛片| 久久久亚洲精品无码| 婷婷亚洲天堂影院| 成人毛片18女人毛片免费96| 在线观看特色大片免费网站| 免费人成大片在线观看播放电影 | 亚洲一区二区三区写真| 亚洲色成人网站WWW永久| 永久黄网站色视频免费观看| 在线涩涩免费观看国产精品 | 亚洲精品日韩中文字幕久久久| 无码成A毛片免费| 深夜久久AAAAA级毛片免费看| 国产a v无码专区亚洲av| 青青久在线视频免费观看|