码迷,mamicode.com
首页 > 数据库 > 详细

Spring JDBC

时间:2018-11-25 14:49:03      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:val   一个   方法   orm框架   简化   str   hibernate   代码   jdbc   

一、 Spring JDBC 简介

    Spring JDBC :spring 官方提供的一个持久层框架,对jdbc进行了抽象和封装,消除了重复冗余的jdbc重复性的代码,使操作数据库变的更简单。
                  但Spring JDBC本身并不是一个orm框架,与hibernate相比,它需要自己操作sql,手动映射字段关系,在保持灵活性的同时,势
                  必造成了开发效率的降低。如果需要使用完整的orm框架操作数据库,可以使用hibernate或者spring Data Jpa。
    Spring JDBC :提供了模板类对数据库简化对数据库的操作,其中JdbcTemplate是最常用的。

二、代码逻辑实现

    A、原始Jdbc实现

        blic class User {
            private int id;
            private String name;
            private String sex;
            private int age;
            //省略getter/setter方法
        }

        public class JdbcTemplateTest1 {
            @Test
            public void test1() {
                //1.创建连接池
                DriverManagerDataSource dataSource=new DriverManagerDataSource();
                
                //2.设置数据库属性
                dataSource.setDriverClassName("com.mysql.jdbc.Driver");
                dataSource.setUrl("jdbc:mysql:///springtest");
                dataSource.setUsername("root");
                dataSource.setPassword("root");
                
                //3.创建JdbcTemplate完成数据库操作
                JdbcTemplate jdbc=new JdbcTemplate();
                jdbc.setDataSource(dataSource);
                jdbc.execute("update t_user set name=‘逗逗‘ where id=‘1‘");
            }
        }

    B、配置 spring 内置的连接池DriverManagerDataSource 
        applicationContext.xml
            <bean id="driverManagerDateSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
                <property name="driverClassName" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql:///springtest" />
                <property name="username" value="root" />
                <property name="password" value="root"/>
            </bean>
            
            <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
                <property name="dataSource" ref="driverManagerDateSource"/>
            </bean>
        
        测试代码
            @RunWith(SpringJUnit4ClassRunner.class)
            @ContextConfiguration(locations = "classpath:applicationContext.xml")
            public class JdbcTemplateTest2 {
            
                @Autowired
                private JdbcTemplate jdbcTemplate;
                
                @Test
                public void test1() {
                    jdbcTemplate.execute("update t_user set sex=‘女孩‘");
                }
            }

    C、使用C3P0开源连接池(写在配置文件中)
        db.properties
            jdbc.driverClass=com.mysql.jdbc.Driver
            jdbc.url=jdbc:mysql:///springtest
            jdbc.username=root
            jdbc.password=root

        applicationContext.xml
            <!--引入外部数据库配置文件  -->
            <context:property-placeholder location="classpath:db.properties"/>
            <!-- c3p0连接池 -->
            <bean id="c3p0DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
                <property name="driverClass" value="${jdbc.driverClass}"/>
                <property name="jdbcUrl" value="${jdbc.url}"/>
                <property name="user" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </bean>
            
            <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
                <property name="dataSource" ref="c3p0DataSource"/>
            </bean>

        测试代码
            @RunWith(SpringJUnit4ClassRunner.class)
            @ContextConfiguration(locations = "classpath:applicationContext.xml")
            public class JdbcTemplateTest2 {
            
                @Autowired
                private JdbcTemplate jdbcTemplate;
                
                @Test
                public void test1() {
                    jdbcTemplate.execute("update t_user set sex=‘我是逗比‘");
                }
            }

Spring JDBC

标签:val   一个   方法   orm框架   简化   str   hibernate   代码   jdbc   

原文地址:https://www.cnblogs.com/miantiao312/p/10015403.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!