Spring Jdbc

Spring 是个一站式框架:Spring 自身也提供了控制层的 SpringMVC 和 持久层的 Spring JdbcTemplate。

1> 导入相关的jar


        <!-- https://mvnrepository.com/artifact/junit/junit -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.2.RELEASE</version>
        </dependency>


<!--4.spring-context-->

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.10</version>
        </dependency>

<!--5.spring-jdbc-->

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

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

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>5.2.2.RELEASE</version>
        </dependency>

2> 在Spring的配置文件中配置阿里巴巴数据库连接池管理对象,以及Spring封装的JdbcTemplate

重新写一个db.xml 分离出jdbc连接 ,然后再spring.xml中导入db.xml

<import resource="classpath:db.xml"></import>

db.xml

<!--
    classpath: 表示读取内路径 扫描数据库连接信息配置文件
-->
<context:property-placeholder location="classpath:config.properties"/>

<!--管理数据源对象 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
    <property name="driverClassName" value="${driverName}"></property>
    <property name="url" value="${url}"></property>
    <property name="username" value="${uname}"></property>
    <property name="password" value="${upwd}"></property>
    <property name="initialSize" value="10"></property>
    <property name="minIdle" value="5"></property>
    <property name="maxActive" value="20"></property>
    <property name="maxWait" value="2000"></property>
</bean>

<!-- 配置Spring所提供的JdbcTemplate -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource" ref="dataSource"></property>
</bean>

3> dao层

@Repository(value = "userDao")
public class UserDao {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    //保存
    public void insertInto() {
        // jdbcTemplate.execute(); 用于执行ddl(用来创建表结构create drop) 语句

        String sql = "insert into admin(account,password) values (?,?)";
        jdbcTemplate.update(sql, "luss", "123");
    }

    
    public List<User> selectAll() {
        List<User> list = jdbcTemplate.query(" select * from user where id > ?",
                new RowMapper<User>() {
                    @Override
                    public User mapRow(ResultSet resultSet, int i) throws SQLException {
                        User user = new User();
                        user.setId(resultSet.getInt("id"));
                        user.setName(resultSet.getString("name"));
                        user.setGender(resultSet.getString("gender"));
                        return user;
                    }
                }, "3");
        return list;
    }

    public List<User> selectAll2() {
        String sql = "select * from user";
        List<User> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));
        return list;
    }
}

4> Service层

@Service(value = "userService")
public class UserService {

    @Autowired
    UserDao userDao;

    public void saveUser() {
        userDao.insertInto();
    }

    public List<User> selectAll() {
        List<User> users = userDao.selectAll();
        return users;
    }

    public List<User> selectAll2() {
        List<User> users = userDao.selectAll2();
        return users;
    }
}

5> test

    @Test
    public void test2() {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring.xml");
    
        UserService userService = applicationContext.getBean("userService",UserService.class);
//        userService.saveUser();

        List<User> users = userService.selectAll2();
        for (User user:users){
            System.out.println(user);
        }
    }

6> 结果

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值