04-Spring 集成JDBC

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linzhaoliangyan/article/details/88688722

* 有问题可以参加Java技术交流群:839366464

* SpringJDBC模块是解决持久层CRUD操作,是对JDBC的一个简单封装,类型于DBUtils工具。  

* JdbcTemplate 开发

        * 添加依赖

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.16</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.3.18.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>4.3.18.RELEASE</version>
        </dependency>

* 测试

 @Test
    public void test11(){
        // 1 构建JdbcTemplate模板
        JdbcTemplate jdbcTemplate=new JdbcTemplate();
        // 2 构建连接池(Spring 内置的数据库连接池)
        DriverManagerDataSource dataSource=new DriverManagerDataSource();
        dataSource.setUrl("jdbc:mysql://localhost:3306/hx01?characterEncoding=utf-8");
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUsername("root");
        dataSource.setPassword("root");
        jdbcTemplate.setDataSource(dataSource);
        String sql="SELECT id,username,psw,sex FROM USER";
        jdbcTemplate.query(sql, new RowCallbackHandler() {
            @Override
            public void processRow(ResultSet resultSet) throws SQLException {
                int id=resultSet.getInt(1);
                String username=resultSet.getString(2);
                String psw = resultSet.getString(3);
                char sex=resultSet.getString(4).charAt(0);
                System.out.println(id+":"+username+":"+psw+":"+sex);
            }
        });

    }

  * Spring 集成JdbcTemplate(体验)

        * 复习c3p0(数据库连接池)

            * http://www.cnblogs.com/ygj0930/p/6405861.html

        * 添加依赖(数据库连接池c3p0)

<dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.5.2</version>
  </dependency>
/**
 * @author xiaozhao
 */
public class UserDaoImpl implements UserDao {
    private JdbcTemplate jd;

    public JdbcTemplate getJd() {
        return jd;
    }

    public void setJd(JdbcTemplate jd) {
        this.jd = jd;
    }

    @Override
    public void addUser(User user) {
        String sql="INSERT INTO USER(username,psw,sex) VALUES(?,?,?)";
        Object[] params=new Object[]{user.getUsername(),user.getPsw(),user.getSex()+""};
        jd.update(sql,params);
    }

    @Override
    public void sayHello() {
        System.out.println("sayHello");
    }
}

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/hx01?characterEncoding=utf-8
uname=root
password=root

 <context:property-placeholder location="classpath:dbconfig.properties" file-encoding="utf-8"/>
    <bean id="c3p0" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
        <property name="jdbcUrl" value="${url}"></property>
        <property name="user" value="${uname}"></property>
        <property name="password" value="${password}"></property>
        <property name="driverClass" value="${driver}"></property>
    </bean>

    <bean id="jd" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="c3p0"></property>
    </bean>

    <bean id="userDao" class="com.hx.hx02.dao.UserDaoImpl">
        <property name="jd" ref="jd"></property>
    </bean>

@Test
    public void test12(){
        ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
        UserDao userDao = (UserDao) context.getBean("userDao");
        User user=new User();
        user.setUsername("xiaojjj");
        user.setPsw("123123");
        user.setSex('男');
        userDao.addUser(user);
        System.out.println("添加成功");
    }

猜你喜欢

转载自blog.csdn.net/linzhaoliangyan/article/details/88688722