• Spring整合jdbc


    注意:

    在spring容器中可以给对象设置属性,如果有父类的话,也可以给他的父类设置属性

    表:

    create table userinfo(

        uid int primary key auto_increment,

        username varchar(20),

        password varchar(20)

    )

    JdbcDaoSupport :工具类是spring提供的整合jdbc的工具类

    1.将配置的数据源加入当前操作

    2.提供标准的jdbc模板JdbcTemplate --->jdbc操作数据库的方法

    DaoImpl:

    public class UserDaoImpl extends JdbcDaoSupport implements UserDao {

        @Override

        public void add(UserBean u) {

            JdbcTemplate template=getJdbcTemplate();

            String sql="insert userinfo values(null,?,?)";

            template.update(sql, u.getUsername(), u.getPassword());

        }

     

        @Override

        public void del(int uid) {

            String sql="delete from userinfo where uid=?";

     

            getJdbcTemplate().update(sql,uid);

        }

     

        @Override

        public void update(UserBean u) {

            String sql="update userinfo set username=? , password=? where uid=?";

     

            getJdbcTemplate().update(sql,u.getUsername(),u.getPassword(),u.getUid());

        }

     

        @Override

        public List<UserBean> getAll() {

            String sql="select*from userinfo";

            List<UserBean> list = getJdbcTemplate().query(sql, new RowMapper<UserBean>() {

                @Override

                public UserBean mapRow(ResultSet resultSet, int i) throws SQLException {

                    UserBean u = new UserBean();

                    u.setUid(resultSet.getInt(1));

                    u.setUsername(resultSet.getString("username"));

                    u.setPassword(resultSet.getString("password"));

                    return u;

                }

            });

            return list;

        }

    }

     

    <bean name="useDao" class="com.ujiuye.dao.UserDaoImpl">

            <property name="dataSource" ref="ds"/>

        </bean>

        <bean name="ds" class="com.mchange.v2.c3p0.ComboPooledDataSource">

            <property name="driverClass" value="com.mysql.jdbc.Driver"/>

            <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test?characterEncoding=utf-8"/>

            <property name="user" value="root"/>

            <property name="password" value="123456"/>

        </bean> 

        <bean name="userService" class="com.ujiuye.service.UserServiceImpl">

            <property name="dao" ref="useDao"/>

        </bean>

     

    Service:

    public class UserServiceImpl  implements  UserService {

        UserDao dao;

     

        public UserDao getDao() {

            return dao;

        }

     

        public void setDao(UserDao dao) {

            this.dao = dao;

        }

     

        @Override

        public void add(UserBean userBean) {

            dao.add(userBean);

        }

     

        @Override

        public void del(int uid) {

            dao.del(uid);

        }

     

        @Override

        public void update(UserBean userBean) {

            dao.update(userBean);

        }

     

        @Override

        public List<UserBean> getAll() {

            return dao.getAll();

        }

    }

     

    测试:

    /**

         * 增删改查

         */

        @Test

        public void test3(){

            ApplicationContext app=new ClassPathXmlApplicationContext("bean.xml");

     

            UserService service= (UserService) app.getBean("userService");

     

           // service.add(new UserBean(0,"张三2","1223"));

     

    //        service.del(2);

     

            service.update(new UserBean(3,"李四","110"));

     

            List<UserBean> list = service.getAll();

            System.out.println(list);

        }

  • 相关阅读:
    啃掉的博文全记录
    DP五十题
    noip 真题班刷题记录及总结思考
    dfklsJj
    【2018.11.7】luogu NOIp热身赛 及刷题思考
    【trie树专题】
    【倍增专题】
    10.23
    简析 NP 问题 和P问题
    [NOIP 2010普及组 No.4] 三国游戏
  • 原文地址:https://www.cnblogs.com/masterhxh/p/12918806.html
Copyright © 2020-2023  润新知