Spring学习之路spring对数据库操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring学习之路spring对数据库操作相关的知识,希望对你有一定的参考价值。

1、导入jdbc.jar、tx. jar包

2、测试

技术分享
package com.junit;

import static org.junit.Assert.*;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.datasource.DriverManagerDataSource;

import com.ioc.User;


public class Text2 {
    //添加操作
    @Test
    public void testAdd() {
        //创建对象,获取数据库信息
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql:///person");
        dataSource.setUsername("root");
        dataSource.setPassword("root");
//        创建对象,获取数据源
        JdbcTemplate jdbctlt = new JdbcTemplate(dataSource);
//        创建SQL语句
        String sql = "insert into user values(null,?,?)";
        int rows = jdbctlt.update(sql, "admin2","123");
//        rows 执行成功会返回1
        System.out.println(rows);
        
    }
    //修改
    @Test
    public void testUpdate() {
        //创建对象,获取数据库信息
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql:///person");
        dataSource.setUsername("root");
        dataSource.setPassword("root");
//        创建对象,获取数据源
        JdbcTemplate jdbctlt = new JdbcTemplate(dataSource);
//        创建SQL语句
        String sql = "update user set uname=? where id=?";
        int rows = jdbctlt.update(sql, "历史","2");
        System.out.println(rows);    
    }
    //删除
        @Test
        public void testDel() {
            //创建对象,获取数据库信息
            DriverManagerDataSource dataSource = new DriverManagerDataSource();
            dataSource.setDriverClassName("com.mysql.jdbc.Driver");
            dataSource.setUrl("jdbc:mysql:///person");
            dataSource.setUsername("root");
            dataSource.setPassword("root");
//            创建对象,获取数据源
            JdbcTemplate jdbctlt = new JdbcTemplate(dataSource);
//            创建SQL语句
            String sql = "delete from user where id=?";
            int rows = jdbctlt.update(sql, "1");
            System.out.println(rows);    
        }
    //查询有多少条记录
    @Test
    public void testQery() {
        //创建对象,获取数据库信息
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql:///person");
        dataSource.setUsername("root");
        dataSource.setPassword("root");
//            创建对象,获取数据源
        JdbcTemplate jdbctlt = new JdbcTemplate(dataSource);
//            创建SQL语句
        String sql = "select count(*) from user";
        int count = jdbctlt.queryForObject(sql, Integer.class);        
        System.out.println(count);    
    }
    //查询返回对象
    @Test
    public void testObj() {
        //创建对象,获取数据库信息
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql:///person");
        dataSource.setUsername("root");
        dataSource.setPassword("root");
//        创建对象,获取数据源
        JdbcTemplate jdbctlt = new JdbcTemplate(dataSource);
//        创建SQL语句 
        String sql = "select * from user where id=?";
        //继承接口
        User user = jdbctlt.queryForObject(sql, new myRowMapper(), "3");
        System.out.println(user);
    }
    //查询所有
    @Test
    public void testObjQuery() {
        //创建对象,获取数据库信息
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql:///person");
        dataSource.setUsername("root");
        dataSource.setPassword("root");
//        创建对象,获取数据源
        JdbcTemplate jdbctlt = new JdbcTemplate(dataSource);
//        创建SQL语句 
        String sql = "select * from user";
         List<User> list = jdbctlt.query(sql, new myRowMapper());
         System.out.println(list);
        
    }
}
class myRowMapper implements RowMapper<User>{

    @Override
    public User mapRow(ResultSet rs, int num) throws SQLException {
//        获得数据
        int uid =  rs.getInt("id");
        String uname = rs.getString("uname");
        String upwd = rs.getString("upwd");
//        存储数据
        User user = new User();
        user.setId(uid);
        user.setUname(uname);
        user.setUpwd(upwd);;
        return user;
    }    
}
View Code

 

以上是关于Spring学习之路spring对数据库操作的主要内容,如果未能解决你的问题,请参考以下文章

Spring4学习回顾之路04—配置Bean (中)

Spring学习之路

通往Spring Cloud的学习之路

Spring4学习回顾之路06- IOC容器中Bean的生命周期方法

Spring学习之路spring入门

01-Spring5简介Java学习之路-www.javaroads.com