JAVA 使用JDBCTemplate连接Mysql数据库(基础)

版权声明:本文为博主原创文章,互联网的本质是自由与分享,若您需要引用、转载,只需要注明来源及原文链接即可 https://blog.csdn.net/qq_34207366/article/details/84679901

1. maven依赖配置如下

    <!--单元测试-->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
    </dependency>
    <!-- mysql连接驱动 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.40</version>
    </dependency>
    
    <!--Spring-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>4.3.15.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>4.3.15.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>4.3.15.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aspects</artifactId>
        <version>4.3.15.RELEASE</version>
    </dependency>

2. 编写java代码连接并查询数据

import dao.template.StudentDao;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import pojo.Student;

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

/**
 * Created by chengh on 2018/12/1.
 */
public class JDBCTemplateTest {

    class MyRowMapper implements RowMapper<Student> {
        /**
         * 获取查询的结果集,赋值给student对象 并返回
         *
         * @param resultSet 结果集
         * @param i
         * @return Student对象
         * @throws SQLException
         */
        public Student mapRow(ResultSet resultSet, int i) throws SQLException {
            Student student = new Student();
            student.setName(resultSet.getString("name"));
            student.setId(resultSet.getLong("id"));
            return student;
        }
    }

    /**
     * 一、JdbcTemplate使用的基本步骤
     */
    @Test
    public void test1() {

        //创建数据源
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://localhost:3306/xz_1");
        dataSource.setUsername("root");
        dataSource.setPassword("123456");

        //创建JdbcTemplate对象,设置数据源
        JdbcTemplate template = new JdbcTemplate(dataSource);

        //查询并返回结果
        List<Student> list = template.query("select * from student", new MyRowMapper());
        int count = (Integer) template.queryForObject("select count(1) from student", Integer.class);

        //断言 数据不为空
        Assert.assertTrue(list.size() > 0);
        Assert.assertTrue(count > 0);

        //遍历集合,输出结果
        for (Student student : list) {
            System.out.println(student.getId() + "/" + student.getName());
        }

    }
}

其他参考文档

猜你喜欢

转载自blog.csdn.net/qq_34207366/article/details/84679901
今日推荐