发表于: 2018-09-09 23:55:46

2 407


今天完成的事:

Spring环境搭建和JDBCTemplate使用

先在IDEA中创建Maven,然后修改pom.xml文件添加Spring依赖

<dependencies>
<dependency>

<!--测试-->
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    <scope>test</scope>
</dependency>
<dependency>

<!--数据库链接依赖-->
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.12</version>
</dependency>
<dependency>

<!--spring JDBCTemplate 依赖-->
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>4.3.8.RELEASE</version>
</dependency>
<dependency>

<!--spring Context 组件-->
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.3.8.RELEASE</version>
</dependency>
</dependencies>

 

编写VO

public class Student {
    private Integer age;
    private String name;
    private Integer id;

    public void setAge(Integer age) {
        this.age = age;
    }

    public Integer getAge() {
        return age;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }
}

 

编写DAO

import java.util.List;
import javax.sql.DataSource;


public interface StudentDAO {
   //定义数据库链接传递
    public void setDataSource(DataSource ds);
   //添加操作
    public void create(String name, Integer age);
}

编写DAO实现层

import java.util.List;
import javax.sql.DataSource;
import org.springframework.jdbc.core.JdbcTemplate;

public class StudentJDBCTemplate implements StudentDAO {
    private DataSource dataSource;
    private JdbcTemplate jdbcTemplateObject;

    public void setDataSource(DataSource dataSource) {
        this.dataSource = dataSource;
        this.jdbcTemplateObject = new JdbcTemplate(dataSource);
    }

    public void create(String name, Integer age) {
        String SQL = "insert into Student (name, age) values (?, ?)";

        jdbcTemplateObject.update(SQL, name, age);
        System.out.println("Created Record Name = " + name + " Age = " + age);
        return;
    }

  }

 

编写Spring 配置文件 ApplicationContext

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd ">

    <!-- 设置数据库链接参数 -->
    <bean id="dataSource"
          class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC" />
        <property name="username" value="root" />
        <property name="password" value="root" />
    </bean>

    <!-- 把链接参数传递给DAO实现层 -->
    <bean id="studentJDBCTemplate" class="com.yiibai.StudentJDBCTemplate">
        <property name="dataSource" ref="dataSource" />
    </bean>

</beans>

 

编写一个测试

public class MainApp {
    public static void main(String[] args) {

//读取Spring 配置文件
        ApplicationContext context =
                new ClassPathXmlApplicationContext("application-beans.xml");
//实例化一个DAO实现层的对象,参数为配置文件中的数据链接参数
        StudentJDBCTemplate studentJDBCTemplate =
                (StudentJDBCTemplate)context.getBean("studentJDBCTemplate");

        System.out.println("------Records Creation--------" );

//调用现实层的方法,插入数据
        studentJDBCTemplate.create("Maxsu", 19);
        studentJDBCTemplate.create("Minsu", 23);
        studentJDBCTemplate.create("Allen", 27);

    }
}

 

明天计划的事情:

继续学习Spring,完善代码。

 

 

遇到的问题:

Spring 配置文件存放位置困扰我很久,后来发现是在测试时IDEA生成的*.class,并不在原目录而是在target文件下,临时解决方法在IDEAProject Structure>Modules> Paths,设置到JAVA主目录,方便调试。

 

收获:

  直观感受就是用了Spring后代码更少了,JDBCTemplate命令比JDBC强大很多。关于Spring还需要很多学习。



返回列表 返回列表
评论

    分享到