zoukankan      html  css  js  c++  java
  • 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);

        }

  • 相关阅读:
    【XSY2990】树 组合数学 容斥
    【LOJ2542】【PKUWC 2018】随机游走 min-max容斥 树上高斯消元
    【51NOD1847】奇怪的数学题 min_25筛
    【51NOD1965】奇怪的式子 min_25筛
    蒟蒻的学习计划
    【XSY2962】作业 数学
    蒟蒻的做题记录
    【LOJ2586】【APIO2018】选圆圈 CDQ分治 扫描线 平衡树
    【APIO2016】【UOJ205】【LOJ2568】烟花表演 可合并堆
    【BZOJ2876】【Noi2012】骑行川藏 拉格朗日乘法
  • 原文地址:https://www.cnblogs.com/masterhxh/p/12918806.html
Copyright © 2011-2022 走看看