zoukankan      html  css  js  c++  java
  • Spring的jdbc模板3:完成CURD操作

    测试类代码如下

    package zcc.spring_jdbc.demo2;
    
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.List;
    
    import javax.annotation.Resource;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.jdbc.core.RowMapper;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    
    import domain.Student;
    
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations = "classpath:applicationContext5.xml")
    public class SpringDemo1 {
    
        @Resource(name = "jdbcTemplate")
        private JdbcTemplate jdbcTemplate;
    
        @Test
        /*
         * 增加
         */
        public void demo1() {
            jdbcTemplate.update("insert into student values(?,?,?)", 8, "周司", "男");
    
        }
    
        @Test
        /*
         * 删除
         */
        public void demo2() {
            jdbcTemplate.update("delete from student where id = ?", 2);
    
        }
    
        @Test
        /*
         * 修改
         */
        public void demo3() {
            jdbcTemplate.update("update student set name = ? where id = ? ", "李三", 3);
    
        }
    
        @Test
        /*
         * 查询字符串
         */
        public void demo4() {
            String name = jdbcTemplate.queryForObject("select name from student where id = ? ", String.class, 1);
            System.out.println(name);
        }
    
        @Test
        /*
         * 查询总数
         */
        public void demo5() {
            Long total = jdbcTemplate.queryForObject("select count(*) from student ", Long.class);
            System.out.println(total);
        }
    
        @Test
        /*
         * 查询单个对象
         */
        public void demo6() {
            Student student = jdbcTemplate.queryForObject("select * from student where id = ? ", new myRowMapper(), 1);
            System.out.println(student.toString());
        }
    
        @Test
        /*
         * 查询多个对象
         */
        public void demo7() {
            List<Student>  list= jdbcTemplate.query("select * from student", new myRowMapper());
            for(Student student:list) {
                System.out.println(student.toString());
            }
        }
        
        /*
         *数据封装 
         */
        class myRowMapper implements RowMapper<Student> {
            public Student mapRow(ResultSet rs, int rowNum) throws SQLException {
                Student student = new Student();
                student.setId(rs.getInt("id"));
                student.setName(rs.getString("name"));
                student.setSex(rs.getString("sex"));
                return student;
            }
        }
    }

    applicationContext5.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:context="http://www.springframework.org/schema/context"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/tx 
        http://www.springframework.org/schema/tx/spring-tx.xsd">
    
        <!-- =============配置spring内置的连接池================== -->
        <!-- Springdemo1每一次都要New,交给spring管理之后只需要new一次 -->
        <!-- <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
            ===属性注入=== <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> 
            <property name="url" value="jdbc:mysql://localhost:3307/test"></property> 
            <property name="username" value="root"></property> <property name="password" 
            value="123456"></property> </bean> -->
    
        <!-- ==============配置C3P0连接池=============== -->
        <!-- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> 
            <property name="driverClass" value="com.mysql.jdbc.Driver"></property> <property 
            name="jdbcUrl" value="jdbc:mysql://localhost:3307/test"></property> <property 
            name="user" value="root"></property> <property name="password" value="123456"></property> 
            </bean> -->
    
        <!-- ===============引入属性文件============= -->
        <!-- 第一种方式通过一个bean标签引入的(很少) -->
        <!-- <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
            <property name="location" value="classpath:jdbc.properties"/> </bean> -->
        <!-- 第二种方式,通过context标签引入 -->
        <context:property-placeholder location="classpath:jdbc.properties" />
        
        <!-- ==========配置c3p0连接池============ -->
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <property name="driverClass" value="${jdbc.driverClass}"></property>
            <property name="jdbcUrl" value="${jdbc.url}"></property>
            <property name="user" value="${jdbc.username}"></property>
            <property name="password" value="${jdbc.password}"></property>
        </bean>
    
        <!-- ==============配置jdbc模板================ -->
        <bean id="jdbcTemplate"
            class="org.springframework.jdbc.core.JdbcTemplate">
            <!-- ==属性注入== -->
            <property name="dataSource" ref="dataSource"></property>
        </bean>
    
    </beans>

    jdbc.properties的代码如下

  • 相关阅读:
    2020年下半年学习进度04
    2020年下半年学习进度03
    2020年下半年学习进度02
    2020年下半年学习进度01
    数据爬取
    个人课程总结
    Syncnavigator V8.6.2在线说明书
    SyncNavigator V8.6.2企业版下载链接
    Syncnavigator V8.6.2帮助文档(说明书)下载
    SQL Server 自动同步到 MySQL
  • 原文地址:https://www.cnblogs.com/zengcongcong/p/10402174.html
Copyright © 2011-2022 走看看