当前位置:Gxlcms > 数据库问题 > JdbcTemplate(增删改查以及以注释实现增删改查)

JdbcTemplate(增删改查以及以注释实现增删改查)

时间:2021-07-01 10:21:17 帮助过:33人阅读

  为了使 JDBC 更加易于使用,Spring 在 JDBCAPI 上定义了一个抽象层,

  以此建立一个JDBC存取框架,Spring Boot Spring Data-JPA。

  作为 SpringJDBC 框架的核心, JDBC 模板的设计目的是为不同类型的JDBC操作提供模板方法.

  每个模板方法都能控制整个过程,并允许覆盖过程中的特定任务。

  通过这种方式,可以在尽可能保留灵活性的情况下,将数据库存取的工作量降到最低。

JdbcTemplate方法介绍

  execute方法:

    可以用于执行任何SQL语句,一般用于执行DDL语句;

  update方法:

    update方法用于执行新增、修改、删除等语句;

  query方法:

    用于执行查询相关语句;

  call方法:

    用于执行存储过程、函数相关语句。

注意:

  使用JdbcTemplate完成对数据库的操作十分易用,可以和Spring框架做到非常完美的整合

  JdbcTemplate仅仅只能支持简单的SQL操作,不支持关联映射和属性注入,所以在SQL方向的操作我们仍需使用MyBatis!

小例子(增删改查)

  查:

  步骤一:导入依赖

  1. <!-- https:<span style="color: #008000;">//</span><span style="color: #008000;">mvnrepository.com/artifact/org.springframework/spring-jdbc --></span>
  2. <dependency>
  3. <groupId>org.springframework</groupId>
  4. <artifactId>spring-jdbc</artifactId>
  5. <version><span style="color: #800080;">5.1</span>.<span style="color: #800080;">5</span>.RELEASE</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>mysql</groupId>
  9. <artifactId>mysql-connector-java</artifactId>
  10. <version><span style="color: #800080;">5.1</span>.<span style="color: #800080;">32</span></version>
  11. </dependency>

  步骤二:创建实体类

  1. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> Student {
  2. </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> Integer stuid;
  3. </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> String stuname;
  4. </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> Integer age;
  5. </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> Integer getStuid() {
  6. </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> stuid;
  7. }
  8. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> setStuid(Integer stuid) {
  9. </span><span style="color: #0000ff;">this</span>.stuid =<span style="color: #000000;"> stuid;
  10. }
  11. </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> String getStuname() {
  12. </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> stuname;
  13. }
  14. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> setStuname(String stuname) {
  15. </span><span style="color: #0000ff;">this</span>.stuname =<span style="color: #000000;"> stuname;
  16. }
  17. </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> Integer getAge() {
  18. </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> age;
  19. }
  20. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> setAge(Integer age) {
  21. </span><span style="color: #0000ff;">this</span>.age =<span style="color: #000000;"> age;
  22. }</span>

  步骤三:DAO层

  1. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">interface</span><span style="color: #000000;"> IStudentdao {
  2. </span><span style="color: #008000;">//</span><span style="color: #008000;">查询所有学生的方法</span>
  3. <span style="color: #0000ff;">public</span> List<Student><span style="color: #000000;"> allstu();
  4. }</span>

  步骤四:DAO层实现类

  1. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> IStudentdaoimpl <span style="color: #ff0000;">extends JdbcDaoSupport</span> implements IStudentdao {
  2. </span><span style="color: #008000;">//</span><span style="color: #008000;">查询</span>
  3. <span style="color: #000000;"> @Override
  4. </span><span style="color: #0000ff;">public</span> List<Student><span style="color: #000000;"> allstu() {
  5. </span><span style="color: #008000;">//</span><span style="color: #008000;">获取JDBC模板</span>
  6. JdbcTemplate jdbcTemplate=<span style="color: #000000;">getJdbcTemplate();
  7. String sql</span>=<span style="color: #800000;">"</span><span style="color: #800000;">select * from student</span><span style="color: #800000;">"</span><span style="color: #000000;">;
  8. </span><span style="color: #008000;">//</span><span style="color: #008000;">执行查询操作</span>
  9. List<Student> query = jdbcTemplate.query(sql, <span style="color: #ff0000;">new RowMapper<Student>() {
  10. *//**
  11. *
  12. * @param rs 结果集
  13. * @param rowNum 当前行
  14. * @return 方法返回值
  15. * @throws SQLException
  16. *//*
  17. @Override
  18. public Student mapRow(ResultSet rs, int rowNum) throws SQLException {
  19. Student stu = new Student();
  20. stu.setStuid(rs.getInt("stuid"));
  21. stu.setStuname(rs.getString("stuname"));
  22. stu.setAge(rs.getInt("age"));
  23. return</span><span style="color: #000000;"><span style="color: #ff0000;"> stu;
  24. }<br></span></span>
  1.       /*<br>      //自动映射(可省略上方的query方法)
  1.       RowMapper<Student> rowMapper= new BeanPropertyRowMapper<>(Student.class);<br>      List<Student> query = jdbcTemplate.query(sql, rowMapper);<br>      */
  1. <span style="color: #000000;">    });
  2. </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> query;
  3. }
  4. }</span>

  步骤五:Service层

  1. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">interface</span><span style="color: #000000;"> IStudentservice {
  2. </span><span style="color: #008000;">//</span><span style="color: #008000;">查询所有学生的方法</span>
  3. <span style="color: #0000ff;">public</span> List<Student><span style="color: #000000;"> allstu();
  4. }</span>

  步骤六:Service实现层

  1. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> IStudentserviceimpl implements IStudentservice {
  2. </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> IStudentdao iStudentdao;
  3. </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> IStudentdao getiStudentdao() {
  4. </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> iStudentdao;
  5. }
  6. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> setiStudentdao(IStudentdao iStudentdao) {
  7. </span><span style="color: #0000ff;">this</span>.iStudentdao =<span style="color: #000000;"> iStudentdao;
  8. }
  9. @Override
  10. </span><span style="color: #0000ff;">public</span> List<Student><span style="color: #000000;"> allstu() {
  11. </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> iStudentdao.allstu();
  12. }
  13. }</span>

  步骤七:大配置文件(jdbc四个配置)

  1. jdbc.driver=<span style="color: #000000;">com.mysql.jdbc.Driver
  2. jdbc.url</span>=jdbc:mysql:<span style="color: #008000;">//</span><span style="color: #008000;">localhost:3306/student?useUniCode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull</span>
  3. jdbc.username=<span style="color: #000000;">root
  4. jdbc.password</span>=<span style="color: #800080;">123</span>

 

  1. <?xml version=<span style="color: #800000;">"</span><span style="color: #800000;">1.0</span><span style="color: #800000;">"</span> encoding=<span style="color: #800000;">"</span><span style="color: #800000;">UTF-8</span><span style="color: #800000;">"</span>?>
  2. <beans xmlns=<span style="color: #800000;">"</span><span style="color: #800000;">http://www.springframework.org/schema/beans</span><span style="color: #800000;">"</span><span style="color: #000000;">
  3. xmlns:xsi</span>=<span style="color: #800000;">"</span><span style="color: #800000;">http://www.w3.org/2001/XMLSchema-instance</span><span style="color: #800000;">"</span><span style="color: #000000;">
  4. xmlns:context</span>=<span style="color: #800000;">"</span><span style="color: #800000;">http://www.springframework.org/schema/context</span><span style="color: #800000;">"</span><span style="color: #000000;">
  5. xsi:schemaLocation</span>=<span style="color: #800000;">"</span><span style="color: #800000;">http://www.springframework.org/schema/beans</span>
  6. http:<span style="color: #008000;">//</span><span style="color: #008000;">www.springframework.org/schema/beans/spring-beans.xsd </span><span style="color: #008000; text-decoration: underline;">http://www.springframework.org/schema/context</span> <span style="color: #008000; text-decoration: underline;">http://www.springframework.org/schema/context/spring-context.xsd</span><span style="color: #008000;">"></span>
  7. <!--加载配置文件-->
  8. <context:property-placeholder location=<span style="color: #800000;">"</span><span style="color: #800000;">classpath:jdbc.properties</span><span style="color: #800000;">"</span>></context:property-placeholder>
  9. <!--<span style="color: #000000;">DateSource模板
  10. DriverManagerDataSource:Spring默认的数据源
  11. 数据源还有:c3p0 dbcp
  12. </span>-->
  13. <bean id=<span style="color: #800000;">"</span><span style="color: #800000;">dataSource</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">org.springframework.jdbc.datasource.<span style="color: #ff0000;">DriverManagerDataSource</span></span><span style="color: #800000;">"</span>>
  14. <property name=<span style="color: #800000;">"</span><span style="color: #800000;">driverClassName</span><span style="color: #800000;">"</span> value=<span style="color: #800000;">"</span><span style="color: #800000;">${jdbc.driver}</span><span style="color: #800000;">"</span>></property>
  15. <property name=<span style="color: #800000;">"</span><span style="color: #800000;">url</span><span style="color: #800000;">"</span> value=<span style="color: #800000;">"</span><span style="color: #800000;">${jdbc.url}</span><span style="color: #800000;">"</span>></property>
  16. <property name=<span style="color: #800000;">"</span><span style="color: #800000;">username</span><span style="color: #800000;">"</span> value=<span style="color: #800000;">"</span><span style="color: #800000;">${jdbc.username}</span><span style="color: #800000;">"</span>></property>
  17. <property name=<span style="color: #800000;">"</span><span style="color: #800000;">password</span><span style="color: #800000;">"</span> value=<span style="color: #800000;">"</span><span style="color: #800000;">${jdbc.password}</span><span style="color: #800000;">"</span>></property>
  18. </bean>
  19. <!--植入JdbcTemplate-->
  20. <bean id=<span style="color: #800000;">"</span><span style="color: #800000;">jdbcTemplate</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">org.springframework.jdbc.core.<span style="color: #ff0000;">JdbcTemplate</span></span><span style="color: #800000;">"</span>>
  21. <property name=<span style="color: #800000;">"</span><span style="color: #800000;">dataSource</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">ref</span>=<span style="color: #800000;">"</span><span style="color: #800000;">dataSource</span><span style="color: #800000;">"</span>></property>
  22. </bean>
  23. <!--植入DAO层-->
  24. <bean id=<span style="color: #800000;">"</span><span style="color: #800000;">iStudentdao</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">com.JdbcTemplate.dao.impl.IStudentdaoimpl</span><span style="color: #800000;">"</span>>
  25. <property name=<span style="color: #800000;">"</span><span style="color: #800000;">jdbcTemplate</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">ref</span>=<span style="color: #800000;">"</span><span style="color: #800000;">jdbcTemplate</span><span style="color: #800000;">"</span>></property><br><br>      <!--<br>        如果采用下面这条命令,可省略上面的植入JdbcTemplate的代码<br>      -->
  1. <!-- <property name=<span style="color: #800000;">"</span><span style="color: #800000;">dataSource</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">ref</span>=<span style="color: #800000;">"</span><span style="color: #800000;">dataSource</span><span style="color: #800000;">"</span>></property>-->
  2. </bean>
  3. <!--植入Service-->
  4. <bean id=<span style="color: #800000;">"</span><span style="color: #800000;">iStudentservice</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">com.JdbcTemplate.service.impl.IStudentserviceimpl</span><span style="color: #800000;">"</span>>
  5. <property name=<span style="color: #800000;">"</span><span style="color: #800000;">iStudentdao</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">ref</span>=<span style="color: #800000;">"</span><span style="color: #800000;">iStudentdao</span><span style="color: #800000;">"</span>></property>
  6. </bean>
  7. </beans>

  步骤八:测试

  1. <span style="color: #000000;">@Test
  2. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> Demo01(){
  3. ApplicationContext atc</span>=<span style="color: #0000ff;">new</span> ClassPathXmlApplicationContext(<span style="color: #800000;">"</span><span style="color: #800000;">applicationContext.xml</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  4. IStudentservice stu </span>= (IStudentservice)atc.getBean(<span style="color: #800000;">"</span><span style="color: #800000;">iStudentservice</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  5. </span><span style="color: #008000;">//</span><span style="color: #008000;">查询stu</span>
  6. List<Student> allstu =<span style="color: #000000;"> stu.allstu();
  7. </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> (Student atu:allstu){
  8. System.</span><span style="color: #0000ff;">out</span>.println(<span style="color: #800000;">"</span><span style="color: #800000;">名称:</span><span style="color: #800000;">"</span>+atu.getStuname()+<span style="color: #800000;">"</span><span style="color: #800000;">\t年龄:</span><span style="color: #800000;">"</span>+<span style="color: #000000;">atu.getAge());
  9. }
  10. }</span>

技术图片

  增(在这里,我们可以把读取大配置文件大代码提到外面)

  

  1. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> stutest {
  2. <span style="color: #ff0000;"> ApplicationContext atc</span></span><span style="color: #ff0000;">=new ClassPathXmlApplicationContext("applicationContext.xml"</span><span style="color: #000000;"><span style="color: #ff0000;">);</span>
  3. }</span>

 

  步骤一:DAO层

  1. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">interface</span><span style="color: #000000;"> IStudentdao {
  2. </span><span style="color: #008000;">//</span><span style="color: #008000;">添加学生</span>
  3. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span><span style="color: #000000;"> addstu(Student stu);
  4. }</span>

  步骤二:

  1. <span style="color: #008000;">//</span><span style="color: #008000;">添加学生</span>
  2. <span style="color: #000000;"> @Override
  3. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span><span style="color: #000000;"> addstu(Student stu) {
  4. </span><span style="color: #008000;">//</span><span style="color: #008000;">获取JDBC模板</span>
  5. JdbcTemplate jdbcTemplate=<span style="color: #000000;">getJdbcTemplate();
  6. String sql</span>=<span style="color: #800000;">"</span><span style="color: #800000;">insert into student values(default,?,?)</span><span style="color: #800000;">"</span><span style="color: #000000;">;
  7. Object [] obj</span>=<span style="color: #000000;">{stu.getStuname(),stu.getAge()};
  8. </span><span style="color: #0000ff;">int</span> update =<span style="color: #000000;"> jdbcTemplate.update(sql, obj);
  9. System.</span><span style="color: #0000ff;">out</span>.println(<span style="color: #800000;">"</span><span style="color: #800000;">返回值类型:</span><span style="color: #800000;">"</span>+<span style="color: #000000;">update);
  10. </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> update;
  11. }</span>

  步骤三:Service层

  1. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">interface</span><span style="color: #000000;"> IStudentservice{
  2. </span><span style="color: #008000;">//</span><span style="color: #008000;">添加学生</span>
  3. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span><span style="color: #000000;"> addstu(Student stu);
  4. }</span>

  步骤四:Serviceimpl层

  1. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> IStudentserviceimpl implements IStudentservice {
  2. </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> IStudentdao iStudentdao;
  3. </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> IStudentdao getiStudentdao() {
  4. </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> iStudentdao;
  5. }
  6. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> setiStudentdao(IStudentdao iStudentdao) {
  7. </span><span style="color: #0000ff;">this</span>.iStudentdao =<span style="color: #000000;"> iStudentdao;
  8. }
  9. @Override
  10. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span><span style="color: #000000;"> addstu(Student stu) {
  11. </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> iStudentdao.addstu(stu);
  12. }
  13. }</span>

  步骤五:测试

  1. <span style="color: #000000;">@Test
  2. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> insert(){
  3. IStudentservice stu </span>= (IStudentservice)atc.getBean(<span style="color: #800000;">"</span><span style="color: #800000;">iStudentservice</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  4. </span><span style="color: #008000;">//</span><span style="color: #008000;">添加</span>
  5. Student ss=<span style="color: #0000ff;">new</span><span style="color: #000000;"> Student();
  6. ss.setStuname(</span><span style="color: #800000;">"</span><span style="color: #800000;">阿斯顿</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  7. ss.setAge(</span><span style="color: #800080;">123</span><span style="color: #000000;">);
  8. </span><span style="color: #0000ff;">int</span> addstu =<span style="color: #000000;"> stu.addstu(ss);
  9. }<br></span>

技术图片

  

  步骤一:DAO层

  1. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">interface</span><span style="color: #000000;"> IStudentdao {
  2. </span><span style="color: #008000;">//</span><span style="color: #008000;">修改学生</span>
  3. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span><span style="color: #000000;"> updatestu(Student stu);
  4. }</span>

  步骤二:DAOimpl层

  1. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> IStudentdaoimpl extends JdbcDaoSupport implements IStudentdao {
  2. </span><span style="color: #008000;">//</span><span style="color: #008000;">修改学生</span>
  3. <span style="color: #000000;"> @Override
  4. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span><span style="color: #000000;"> updatestu(Student stu) {
  5. </span><span style="color: #008000;">//</span><span style="color: #008000;">获取JDBC模板</span>
  6. JdbcTemplate jdbcTemplate=<span style="color: #000000;">getJdbcTemplate();
  7. Object [] obj</span>=<span style="color: #000000;">{stu.getStuname(),stu.getAge(),stu.getStuid()};
  8. String sql</span>=<span style="color: #800000;">"</span><span style="color: #800000;">update student set stuname=?,age=? where stuid=?</span><span style="color: #800000;">"</span><span style="color: #000000;">;
  9. </span><span style="color: #0000ff;">int</span> update =<span style="color: #000000;"> jdbcTemplate.update(sql, obj);
  10. System.</span><span style="color: #0000ff;">out</span>.println(<span style="color: #800000;">"</span><span style="color: #800000;">返回值类型:</span><span style="color: #800000;">"</span>+<span style="color: #000000;">update);
  11. </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> update;
  12. }
  13. }</span>

  步骤三:Service层

  1. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">interface</span><span style="color: #000000;"> IStudentservice {
  2. </span><span style="color: #008000;">//</span><span style="color: #008000;">修改学生</span>
  3. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span><span style="color: #000000;"> updatestu(Student stu);
  4. }</span>

  步骤四:Serviceimpl

  1. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> IStudentserviceimpl implements IStudentservice {
  2. </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> IStudentdao iStudentdao;
  3. </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> IStudentdao getiStudentdao() {
  4. </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> iStudentdao;
  5. }
  6. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> setiStudentdao(IStudentdao iStudentdao) {
  7. </span><span style="color: #0000ff;">this</span>.iStudentdao =<span style="color: #000000;"> iStudentdao;
  8. }
  9. @Override
  10. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span><span style="color: #000000;"> updatestu(Student stu) {
  11. </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> iStudentdao.updatestu(stu);
  12. }
  13. }</span>

  步骤五:测试

  1. <span style="color: #000000;">@Test
  2. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> update(){
  3. IStudentservice stu </span>= (IStudentservice)atc.getBean(<span style="color: #800000;">"</span><span style="color: #800000;">iStudentservice</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  4. </span><span style="color: #008000;">//</span><span style="color: #008000;">修改</span>
  5. Student sss=<span style="color: #0000ff;">new</span><span style="color: #000000;"> Student();
  6. sss.setStuname(</span><span style="color: #800000;">"</span><span style="color: #800000;">冯老板</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  7. sss.setAge(</span><span style="color: #800080;">99</span><span style="color: #000000;">);
  8. sss.setStuid(</span><span><span style="color: #800080;">6</span></span><span>);</span>
  1. <span style="color: #0000ff;">int</span> updatestu =<span style="color: #000000;"> stu.updatestu(sss);
  2. }</span>

技术图片

 

 

   删:

  步骤一:DAO层

  1. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">interface</span><span style="color: #000000;"> IStudentdao {
  2. </span><span style="color: #008000;">//</span><span style="color: #008000;">删除学生</span>
  3. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span><span style="color: #000000;"> delstu(Student stu);
  4. }</span>

  步骤二:DAOimpl层

  1. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> IStudentdaoimpl extends JdbcDaoSupport implements IStudentdao {
  2. </span><span style="color: #008000;">//</span><span style="color: #008000;">删除</span>
  3. <span style="color: #000000;"> @Override
  4. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span><span style="color: #000000;"> delstu(Student stu) {
  5. </span><span style="color: #008000;">//</span><span style="color: #008000;">获取JDBC模板</span>
  6. JdbcTemplate jdbcTemplate=<span style="color: #000000;">getJdbcTemplate();
  7. Object [] obj</span>=<span style="color: #000000;">{stu.getStuid()};
  8. String sql</span>=<span style="color: #800000;">"</span><span style="color: #800000;">delete from Student where stuid=?</span><span style="color: #800000;">"</span><span style="color: #000000;">;
  9. </span><span style="color: #0000ff;">int</span> update =<span style="color: #000000;"> jdbcTemplate.update(sql, obj);
  10. System.</span><span style="color: #0000ff;">out</span>.println(<span style="color: #800000;">"</span><span style="color: #800000;">返回值类型:</span><span style="color: #800000;">"</span>+<span style="color: #000000;">update);
  11. </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> update;
  12. }
  13. }</span>

  步骤三:Service层

  1. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">interface</span><span style="color: #000000;"> IStudentservice {
  2. </span><span style="color: #008000;">//</span><span style="color: #008000;">删除学生</span>
  3. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span><span style="color: #000000;"> delstu(Student stu);
  4. }</span>

  步骤四:Serviceimpl层

  1. <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> IStudentserviceimpl implements IStudentservice {
  2. </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> IStudentdao iStudentdao;
  3. </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> IStudentdao getiStudentdao() {
  4. </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> iStudentdao;
  5. }
  6. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> setiStudentdao(IStudentdao iStudentdao) {
  7. </span><span style="color: #0000ff;">this</span>.iStudentdao =<span style="color: #000000;"> iStudentdao;
  8. }
  9. @Override
  10. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span><span style="color: #000000;"> delstu(Student stu) {
  11. </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> iStudentdao.delstu(stu);
  12. }
  13. }</span>

  步骤五:测试

  1. <span style="color: #000000;">@Test
  2. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> del(){
  3. IStudentservice stu </span>= (IStudentservice)atc.getBean(<span style="color: #800000;">"</span><span style="color: #800000;">iStudentservice</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  4. </span><span style="color: #008000;">//</span><span style="color: #008000;">删除</span>
  5. Student sss=<span style="color: #0000ff;">new</span><span style="color: #000000;"> Student();
  6. sss.setStuid(</span><span style="color: #800080;">6</span><span style="color: #000000;">);
  7. </span><span style="color: #0000ff;">int</span> delstu =<span style="color: #000000;"> stu.delstu(sss);
  8. }</span>

技术图片

 

 

 使用注释实现增删改(在这里只列举查询)

  步骤一:大配置文件

  1. <?xml version=<span style="color: #800000;">"</span><span style="color: #800000;">1.0</span><span style="color: #800000;">"</span> encoding=<span style="color: #800000;">"</span><span style="color: #800000;">UTF-8</span><span style="color: #800000;">"</span>?>
  2. <beans xmlns=<span style="color: #800000;">"</span><span style="color: #800000;">http://www.springframework.org/schema/beans</span><span style="color: #800000;">"</span><span style="color: #000000;">
  3. xmlns:xsi</span>=<span style="color: #800000;">"</span><span style="color: #800000;">http://www.w3.org/2001/XMLSchema-instance</span><span style="color: #800000;">"</span><span style="color: #000000;">
  4. xmlns:context</span>=<span style="color: #800000;">"</span><span style="color: #800000;">http://www.springframework.org/schema/context</span><span style="color: #800000;">"</span><span style="color: #000000;">
  5. xsi:schemaLocation</span>=<span style="color: #800000;">"</span><span style="color: #800000;">http://www.springframework.org/schema/beans</span>
  6. http:<span style="color: #008000;">//</span><span style="color: #008000;">www.springframework.org/schema/beans/spring-beans.xsd </span><span style="color: #008000; text-decoration: underline;">http://www.springframework.org/schema/context</span> <span style="color: #008000; text-decoration: underline;">http://www.springframework.org/schema/context/spring-context.xsd</span><span style="color: #008000;">"></span>
  7. <!--扫描注解-->
  8. <context:component-scan <span style="color: #0000ff;">base</span>-package=<span style="color: #800000;">"</span><span style="color: #800000;">com.JdbcTemplate</span><span style="color: #800000;">"</span>/>
  9. <!--记载配置文件-->
  10. <context:property-placeholder location=<span style="color: #800000;">"</span><span style="color: #800000;">classpath:jdbc.properties</span><span style="color: #800000;">"</span>></context:property-placeholder>
  11. <!--<span style="color: #000000;">DateSource模板
  12. DriverManagerDataSource:Spring默认的数据源
  13. 数据源还有:c3p0 dbcp
  14. </span>-->
  15. <bean id=<span style="color: #800000;">"</span><span style="color: #800000;">dataSource</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">org.springframework.jdbc.datasource.DriverManagerDataSource</span><span style="color: #800000;">"</span>>
  16. <property name=<span style="color: #800000;">"</span><span style="color: #800000;">driverClassName</span><span style="color: #800000;">"</span> value=<span style="color: #800000;">"</span><span style="color: #800000;">${jdbc.driver}</span><span style="color: #800000;">"</span>></property>
  17. <property name=<span style="color: #800000;">"</span><span style="color: #800000;">url</span><span style="color: #800000;">"</span> value=<span style="color: #800000;">"</span><span style="color: #800000;">${jdbc.url}</span><span style="color: #800000;">"</span>></property>
  18. <property name=<span style="color: #800000;">"</span><span style="color: #800000;">username</span><span style="color: #800000;">"</span> value=<span style="color: #800000;">"</span><span style="color: #800000;">${jdbc.username}</span><span style="color: #800000;">"</span>></property>
  19. <property name=<span style="color: #800000;">"</span><span style="color: #800000;">password</span><span style="color: #800000;">"</span> value=<span style="color: #800000;">"</span><span style="color: #800000;">${jdbc.password}</span><span style="color: #800000;">"</span>></property>
  20. </bean>
  21. <!--植入JdbcTemplate-->
  22. <bean id=<span style="color: #800000;">"</span><span style="color: #800000;">jdbcTemplate</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">org.springframework.jdbc.core.JdbcTemplate</span><span style="color: #800000;">"</span>>
  23. <property name=<span style="color: #800000;">"</span><span style="color: #800000;">dataSource</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">ref</span>=<span style="color: #800000;">"</span><span style="color: #800000;">dataSource</span><span style="color: #800000;">"</span>></property>
  24. </bean>
  25. <!--
  26. &lt;!&ndash;植入DAO层&ndash;&<span style="color: #000000;">gt;
  27. </span><bean id=<span style="color: #800000;">"</span><span style="color: #800000;">iStudentdao</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">com.JdbcTemplate.dao.impl.IStudentdaoimpl</span><span style="color: #800000;">"</span>>
  28. &lt;!&ndash;<property name=<span style="color: #800000;">"</span><span style="color: #800000;">jdbcTemplate</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">ref</span>=<span style="color: #800000;">"</span><span style="color: #800000;">jdbcTemplate</span><span style="color: #800000;">"</span>></property>&ndash;&<span style="color: #000000;">gt;
  29. </span><property name=<span style="color: #800000;">"</span><span style="color: #800000;">dataSource</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">ref</span>=<span style="color: #800000;">"</span><span style="color: #800000;">dataSource</span><span style="color: #800000;">"</span>></property>
  30. </bean>
  31. &lt;!&ndash;植入Service&ndash;&<span style="color: #000000;">gt;
  32. </span><bean id=<span style="color: #800000;">"</span><span style="color: #800000;">iStudentservice</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">com.JdbcTemplate.service.impl.IStudentserviceimpl</span><span style="color: #800000;">"</span>>
  33. <property name=<span style="color: #800000;">"</span><span style="color: #800000;">iStudentdao</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">ref</span>=<span style="color: #800000;">"</span><span style="color: #800000;">iStudentdao</span><span style="color: #800000;">"</span>></property>
  34. </bean>
  35. -->
  36. </beans>

  步骤二:DAOimpl层

  1. <span style="color: #000000;">@Repository
  2. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> IStudentdaoimpl implements IStudentdao {
  3. @Resource
  4. </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> JdbcTemplate jdbcTemplate;
  5. </span><span style="color: #008000;">//</span><span style="color: #008000;">查询</span>
  6. <span style="color: #000000;"> @Override
  7. </span><span style="color: #0000ff;">public</span> List<Student><span style="color: #000000;"> allstu() {
  8. </span><span style="color: #008000;">//</span><span style="color: #008000;">获取JDBC模板</span>
  9. <span style="color: #008000;">/*</span><span style="color: #008000;">JdbcTemplate jdbcTemplate=getJdbcTemplate();</span><span style="color: #008000;">*/</span><span style="color: #000000;">
  10. String sql</span>=<span style="color: #800000;">"</span><span style="color: #800000;">select * from student</span><span style="color: #800000;">"</span><span style="color: #000000;">;
  11. </span><span style="color: #008000;">//</span><span style="color: #008000;">查询</span>
  12. <span style="color: #008000;">/*</span><span style="color: #008000;">List<Student> query = jdbcTemplate.query(sql, new RowMapper<Student>() {
  13. </span><span style="color: #008000;">*//*</span><span style="color: #008000;">*
  14. *
  15. * @param rs 返回的结果集
  16. * @param i 记录行
  17. * @return 方法返回值
  18. * @throws SQLException
  19. </span><span style="color: #008000;">*//*</span><span style="color: #008000;">
  20. @Override
  21. public Student mapRow(ResultSet rs, int i) throws SQLException {
  22. Student stu = new Student();
  23. stu.setStuid(rs.getInt("stuid"));
  24. stu.setStuname(rs.getString("stuname"));
  25. stu.setAge(rs.getInt("age"));
  26. return stu;
  27. }
  28. });</span><span style="color: #008000;">*/</span>
  29. <span style="color: #008000;">//</span><span style="color: #008000;">自动映射</span>
  30. RowMapper<Student> rowMapper= <span style="color: #0000ff;">new</span> BeanPropertyRowMapper<>(Student.<span style="color: #0000ff;">class</span><span style="color: #000000;">);
  31. List</span><Student> query =<span style="color: #000000;"> jdbcTemplate.query(sql, rowMapper);
  32. </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> query;
  33. }
  34. }</span>

  步骤三:Serviceimpl层

  1. @Service(<span style="color: #800000;">"</span><span style="color: #800000;">iStudentservice</span><span style="color: #800000;">"</span><span style="color: #000000;">)
  2. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> IStudentserviceimpl implements IStudentservice {
  3. @Resource
  4. </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> IStudentdao iStudentdao;
  5. </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> IStudentdao getiStudentdao() {
  6. </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> iStudentdao;
  7. }
  8. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> setiStudentdao(IStudentdao iStudentdao) {
  9. </span><span style="color: #0000ff;">this</span>.iStudentdao =<span style="color: #000000;"> iStudentdao;
  10. }
  11. @Override
  12. </span><span style="color: #0000ff;">public</span> List<Student><span style="color: #000000;"> allstu() {
  13. </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> iStudentdao.allstu();
  14. }
  15. }</span>

  步骤四:测试

  1. <span style="color: #000000;">@Test
  2. </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> Demo01(){
  3. ApplicationContext atc</span>=<span style="color: #0000ff;">new</span> ClassPathXmlApplicationContext(<span style="color: #800000;">"</span><span style="color: #800000;">applicationContext.xml</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  4. IStudentservice stu </span>= (IStudentservice)atc.getBean(<span style="color: #800000;">"</span><span style="color: #800000;">iStudentservice</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  5. </span><span style="color: #008000;">//</span><span style="color: #008000;">查询stu</span>
  6. List<Student> allstu =<span style="color: #000000;"> stu.allstu();
  7. </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> (Student atu:allstu){
  8. System.</span><span style="color: #0000ff;">out</span>.println(<span style="color: #800000;">"</span><span style="color: #800000;">名称:</span><span style="color: #800000;">"</span>+atu.getStuname()+<span style="color: #800000;">"</span><span style="color: #800000;">\t年龄:</span><span style="color: #800000;">"</span>+<span style="color: #000000;">atu.getAge());
  9. }
  10. }</span>

技术图片

JdbcTemplate(增删改查以及以注释实现增删改查)

标签:row   lex   null   out   步骤   ash   修改   美的   date   

人气教程排行