本文为 java Spring JdbcTemplate 准备工作的续文
如果您还没有大家好JdbcTemplate 的基础环境 可以先查看前文
首先 之前数据库我们已经弄好了
然后 我们在下面创建一个表 我这里叫 user_list
每一个数据库表 要对应一个实体类
这里 我们打开上一文搭建的项目环境
src下创建一个包 叫 mydata
我们可以先观察一下这个表的字段 然后 我们要根据字段 构建一个实体类
在 mydata包下创建一个java类 叫 user_list
参考代码如下
package mydata;public class user_list {private int user_id;private String user_name;private String user_post;private int superior_id;public int getUser_id() {return user_id;}public void setUser_id(int user_id) {this.user_id = user_id;}public String getUser_name() {return user_name;}public void setUser_name(String user_name) {this.user_name = user_name;}public String getUser_post() {return user_post;}public void setUser_post(String user_post) {this.user_post = user_post;}public int getSuperior_id() {return superior_id;}public void setSuperior_id(int superior_id) {this.superior_id = superior_id;}
}
我们对应数据库表 创建了四个字段 然后 定义了他们的get set方法
我们来到 dao 下的 BookDao 修改代码如下
package dao;import mydata.user_list;public interface BookDao {void add(user_list user_list);
}
多家了一个 add方法
然后 接口都加了 实现类自然也要加 dao下 BookDao参考代码修改如下
package dao;import mydata.user_list;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;@Repository
public class BookDaoImpl implements BookDao {@Autowiredprivate JdbcTemplate jdbcTemplate;@Overridepublic void add(user_list user_list) {String sql = "INSERT INTO `user_list`(`user_name`,`user_post`,`superior_id`) VALUES(?,?,?)";int hangm = jdbcTemplate.update(sql,user_list.getUser_name(),user_list.getUser_post(),user_list.getSuperior_id());System.out.println(hangm);}
}
这 我们写了一段sql
主要就是为了调用jdbcTemplate下的update方法
这个方法 首先 接受一段sql语句 这里 我们写了个添加语句 因为我们user_id是主键 自动增长的 所以 我们只需要加后面三个参数 所以 三个问号 代表三个参数
然后 第二个参数 是一个可变参数 你可以传无限个 至于具体是多少个 要看你这段sql需要几个参数
例如 我们这里 添加语句用了三个 那么 我们可变参数 要传三个 这里 我直接给user_list中的几个属性了 直接通过get方法 去将user_list类的属性直接注入到数据库里 很明显 我们接了一个返回值 数字类型的 代表你这段sql的影响行数
senvice下BookService修改代码如下
package senvice;import dao.BookDao;
import mydata.user_list;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class BookService {@Autowiredprotected BookDao BookDao;public void addUser_list (user_list user_list) {BookDao.add(user_list);}
}
简单调用一下
然后在src下创建text测试类 参考代码如下
import aopXML.User;
import mydata.user_list;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import senvice.BookService;public class text {public static void main(String args[]) {ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");BookService bookService = context.getBean("bookService", BookService.class);user_list user = new user_list();user.setUser_id(1);user.setUser_name("赵国公");user.setUser_post("军机大臣");user.setSuperior_id(3);bookService.addUser_list(user);}
}
这里 我们用xml读取 反射创建BookService对象
然后 为了节省时间 我们直接用原始new的方法创建了user_list 对象 调用set方法 给他的几个属性赋值
然后将他的实体传入addUser_list
最后到 BookDaoImpl 里调用sql
我们运行测试类代码
运行结果如下
可以看到 jdbcTemplate.update 返回给我 1 说明我们的sql作用域一行表数据
然后 我们进入数据库 刷新一下user_list表
然后重新打开 就会发现 我们的数据已经加进去了