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

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

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

    java學(xué)習(xí)

    java學(xué)習(xí)

     

    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 {

        
    //相當(dāng)于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);
        }

    但是上面?zhèn)z種方法的占位符的名字要和實體類中g(shù)et和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{

        
    //相當(dāng)于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)  編輯  收藏


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


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 91在线免费观看| 久久精品视频亚洲| 无码免费午夜福利片在线| 成人A毛片免费观看网站| 激情无码亚洲一区二区三区 | 亚洲最大的视频网站| 亚洲日韩中文字幕在线播放| 国产性生交xxxxx免费| 97在线观看永久免费视频| 免费无码黄网站在线看| a级毛片免费高清视频| 深夜a级毛片免费视频| 亚洲AV日韩AV无码污污网站| 亚洲三级在线播放| 久久亚洲AV成人无码| 亚洲av无码精品网站| 亚洲最大AV网站在线观看| 亚洲成av人片在线观看天堂无码| 大学生美女毛片免费视频| 一二三四视频在线观看中文版免费 | 人成电影网在线观看免费| 九九精品国产亚洲AV日韩| 亚洲精品久久无码| 亚洲成av人片在线天堂无| 亚洲AV女人18毛片水真多| 亚洲日产乱码一二三区别| 国产精品高清视亚洲一区二区| 亚洲伊人色一综合网| 亚洲乱码在线播放| 亚洲日本久久一区二区va| 亚洲精品中文字幕无乱码麻豆| 亚洲国产亚洲综合在线尤物| 亚洲婷婷天堂在线综合| 亚洲一级毛片免费观看| 2020天堂在线亚洲精品专区| 亚洲伦理中文字幕| 国产精品亚洲а∨无码播放不卡| 美女被暴羞羞免费视频| 国产特黄一级一片免费| 免费人成激情视频在线观看冫| 无人在线观看免费高清|