【后端】JDBCTemplate的小练习(二)

JDBCTemplate的小练习 关于DQL的一般性方法

import com.alibaba.druid.pool.DruidDataSourceFactory;
import org.junit.Test;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;

import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import java.util.Properties;

public class templateTest {
    //添加1号salary为10000
    @Test
    public void test01() throws Exception {
        //加载配置文件
        Properties p = new Properties();
        //创建输入流
        InputStream resourceAsStream = templateTest.class.getClassLoader().getResourceAsStream("druid.properties");
        //加载输入流。获取配置数据
        p.load(resourceAsStream);
        //创建数据库连接池对象
        DataSource dataSource = DruidDataSourceFactory.createDataSource(p);
        //获取JdbcTemplate对象
        JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
        //定义sql
        String sql = "update emp set salary = 10000 where id =1";
        //执行sql
        int update = jdbcTemplate.update(sql);
        System.out.println(update);

    }

    //添加一条记录
    @Test
    public void test02() throws Exception {
        //加载配置文件
        Properties p = new Properties();
        //创建输入流
        InputStream resourceAsStream = templateTest.class.getClassLoader().getResourceAsStream("druid.properties");
        //加载输入流。获取配置数据
        p.load(resourceAsStream);
        //创建数据库连接池对象
        DataSource dataSource = DruidDataSourceFactory.createDataSource(p);
        //获取JdbcTemplate对象
        JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
        //定义sql
        String sql = "insert into  emp(id,name,salary) values(null,'夏冬',99999)";
        //执行sql
        int update = jdbcTemplate.update(sql);
        System.out.println(update);

    }

    //删除1号记录
    @Test
    public void test03() throws Exception {
        //加载配置文件
        Properties p = new Properties();
        //创建输入流
        InputStream resourceAsStream = templateTest.class.getClassLoader().getResourceAsStream("druid.properties");
        //加载输入流。获取配置数据
        p.load(resourceAsStream);
        //创建数据库连接池对象
        DataSource dataSource = DruidDataSourceFactory.createDataSource(p);
        //获取JdbcTemplate对象
        JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
        //定义sql
        String sql = "delete  from emp where id = 1";
        //执行sql
        int update = jdbcTemplate.update(sql);
        System.out.println(update);

    }

    //查询id为1的记录,并将其封装为map对象
    @Test
    public void test04() throws Exception {
        //加载配置文件
        Properties p = new Properties();
        //创建输入流
        InputStream resourceAsStream = templateTest.class.getClassLoader().getResourceAsStream("druid.properties");
        //加载输入流。获取配置数据
        p.load(resourceAsStream);
        //创建数据库连接池对象
        DataSource dataSource = DruidDataSourceFactory.createDataSource(p);
        //获取JdbcTemplate对象
        JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
        //定义sql
        String sql = "select * from emp where id = ?";
        //执行sql
        Map<String, Object> stringObjectMap = jdbcTemplate.queryForMap(sql, 1);
        System.out.println(stringObjectMap);

    }

    //查询所有记录 并封装为List
    @Test
    public void test05() throws Exception {
        //加载配置文件
        Properties p = new Properties();
        //创建输入流
        InputStream resourceAsStream = templateTest.class.getClassLoader().getResourceAsStream("druid.properties");
        //加载输入流。获取配置数据
        p.load(resourceAsStream);
        //创建数据库连接池对象
        DataSource dataSource = DruidDataSourceFactory.createDataSource(p);
        //获取JdbcTemplate对象
        JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
        //定义sql
        String sql = "select * from emp";
        //执行sql
        List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
        for (Map a : maps
        ) {
            System.out.println(a);
        }

    }

    //查询所有对象 并封装为emp对象的List集合(手动方法创建emp对象)
    @Test
    public void test06() throws Exception {
        //加载配置文件
        Properties p = new Properties();
        //创建输入流
        InputStream resourceAsStream = templateTest.class.getClassLoader().getResourceAsStream("druid.properties");
        //加载输入流。获取配置数据
        p.load(resourceAsStream);
        //创建数据库连接池对象
        DataSource dataSource = DruidDataSourceFactory.createDataSource(p);
        //获取JdbcTemplate对象
        JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
        //定义sql
        String sql = "select * from emp";
        //执行sql
        List<emp> query = jdbcTemplate.query(sql, new RowMapper<emp>() {

            @Override
            public emp mapRow(ResultSet resultSet, int i) throws SQLException {

                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                String gender = resultSet.getString("gender");
                double salary = resultSet.getDouble("salary");
                Date join_date = resultSet.getDate("join_date");
                int dept_id = resultSet.getInt("dept_id");
                emp e = new emp(id, name, gender, salary, join_date, dept_id);


                return e;
            }
        });

        for (emp a : query
        ) {
            System.out.println(a);
        }
    }

    //查询所有对象 并封装为emp对象的List集合(利用BeanPropertyRowMapper来创建emp对象)
    @Test
    public void test07() throws Exception {
        //加载配置文件
        Properties p = new Properties();
        //创建输入流
        InputStream resourceAsStream = templateTest.class.getClassLoader().getResourceAsStream("druid.properties");
        //加载输入流。获取配置数据
        p.load(resourceAsStream);
        //创建数据库连接池对象
        DataSource dataSource = DruidDataSourceFactory.createDataSource(p);
        //获取JdbcTemplate对象
        JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
        //定义sql
        String sql = "select * from emp";
        //执行sql
        List<emp> query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<emp>(emp.class));
        for (emp a : query
        ) {
            System.out.println(a);
        }
    }
    //查询总记录数
    @Test
    public void test08() throws Exception {
        //加载配置文件
        Properties p = new Properties();
        //创建输入流
        InputStream resourceAsStream = templateTest.class.getClassLoader().getResourceAsStream("druid.properties");
        //加载输入流。获取配置数据
        p.load(resourceAsStream);
        //创建数据库连接池对象
        DataSource dataSource = DruidDataSourceFactory.createDataSource(p);
        //获取JdbcTemplate对象
        JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
        //定义sql
        String sql = "select count(id) from emp";
        //处理聚合函数
        Long a = jdbcTemplate.queryForObject(sql, long.class);
        System.out.println(a);


    }
}
发布了30 篇原创文章 · 获赞 0 · 访问量 479

猜你喜欢

转载自blog.csdn.net/zhujile521/article/details/105236991