发表于: 2017-03-14 19:48:34

3 1350


今天完成的事情:

学习spring jdbc相关知识,了解DAO,写了一个demo
明天计划的事情:

学习事务管理,mybatis相关知识
遇到的问题:

用List<Uset>接收数据时,由于自动导包为java.awt.List会报错,将其替换成java.util.List即可。

收获:

DAO:Data Access Object数据访问对象


pom文件依赖配置

<dependencies>

  <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-context</artifactId>

      <version>4.2.1.RELEASE</version>

    </dependency>

    <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-jdbc</artifactId>

      <version>4.2.1.RELEASE</version>

    </dependency>

     <dependency>

      <groupId>commons-dbcp</groupId>

      <artifactId>commons-dbcp</artifactId>

      <version>1.4</version>

    </dependency>

      <dependency>

      <groupId>mysql</groupId>

      <artifactId>mysql-connector-java</artifactId>

      <version>5.1.25</version>

    </dependency>

  </dependencies>


application-context bean 配置

(配置DataSource 的bean)

<context:component-scan base-package="springjdbc"/>

    

      <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"

      destroy-method="close">

          <property name="driverClassName" value="${jdbc.driverClassName}" />

          <property name="url" value="${jdbc.url}"/>

          <property name="username" value="${jdbc.username}" />

          <property name="password" value="${jdbc.password}" />

   

    </bean>

     <context:property-placeholder location="db.properties" />


DAO接口实现

(Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。

查询 this.jdbcTemplate.queryForObject()

更新  this.jdbcTemplate. update()

创建删除等 this.jdbcTemplate.execute()

)


@Repository

public class JdbcTemplateDao {

private JdbcTemplate jdbcTemplate;

@Autowired

public void setDataSource(DataSource dataSource){

this.jdbcTemplate = new JdbcTemplate(dataSource);

}

public void createTable(){

jdbcTemplate.execute("create table testjdbc(id integer,first_name varchar(100),last_name varchar(100))");

}

public void insertData(){

this.jdbcTemplate.update("insert into testjdbc values(1,?,?)","Meimei","Han");

this.jdbcTemplate.update("insert into testjdbc values(2,?,?)","Lei","Li");

}

public int count() {

// TODO Auto-generated method stub

return this.jdbcTemplate.queryForObject("select count(*) from testjdbc", Integer.class);

}

public List<User> getUserList(){

return this.jdbcTemplate.query("select * from testjdbc", new RowMapper<User>(){

//匿名类

public User mapRow(ResultSet rs,int rowNum)throws SQLException{

User user = new User();

user.setId(rs.getInt("id"));

user.setFirst_name(rs.getString("first_name"));

user.setLast_name(rs.getString("last_name"));

return user;

}

});

}



返回列表 返回列表
评论

    分享到