1.创建jdbcTemplate对象
//jdbcTemplate对象
private JdbcTemplate jdbcTemplate = new JdbcTemplate(JDBCUtils.getDataSource());
2.创建表,创建库
使用jdbcTemplate.execute()方法
可用于创建数据库以及数据表
String sql = "CREATE TABLE user (id int primary key auto_increment,username varchar(255), password varchar(255))";
jdbcTemplate.execute(sql);
3.对表中数据进行修改
使用jdbcTemplate.update()方法
数据库表的增删改
//插入数据
//方式1
String sql = "INSERT INTO user VALUES(null,'张三','123456')";
jdbcTemplate.update(sql);
//方式2
String sql = "INSERT INTO user VALUES(null,?,?)";
jdbcTemplate.update(sql,"张三","123456");
//更新操作
String sql = "update user set username=? where password=?"
jdbcTemplate.update(sql,"张三","123456");
//删除操作
String sql="DELETE FROM user WHERE id=?";
jdbcTemplate.update(sql,1);
//
//int result = jdbcTemplate.update(sql,1); result返回结果,0代表影响行数为0(即失败),1代表影响行数为1(即成功)
4.查询操作
- 可使用jdbcTemplate.queryForObject() ,jdbcTemplate.queryForMap() ,jdbcTemplate.queryForList()
- queryForObject() 查询结果封装为一个Object对象。(也可在(sql,__)横线中填返回值类型,即封装为一个所选返回值类型对象)
- 用于只得到一个值
- queryForMap() 查询结果封装为一个Map集合
- 用于返回结果是数据库中一行的数据的结果
- 用于返回结果是数据库中一行的数据的结果
- queryForList() 查询结果封装为一个有许多Map构成的List
- 用于返回结果是数据库中多行的数据的结果
例:
- 用于返回结果是数据库中多行的数据的结果
String sql = "SELECT COUNT(*) FROM user";
int count = jdbcTemplate.queryForObject(sql, int.class);
String sql = "SELECT password FROM user WHERE username = ?";
String password = jdbcTemplate.queryForObject(sql, String.class, "张三");
String sql = "SELECT * FROM user WHERE username = ?";
Map<String, Object> map = jdbcTemplate.queryForMap(sql, "张三");
String sql = "SELECT * FROM user";
List<Map<String, Object>> listMap = jdbcTemplate.queryForList(sql);
也可使用自定义实体类进行封装
String sql = "SELECT * FROM user WHERE username = ? and password = ?";
//调用query方法
User user = jdbcTemplate.queryForObject(sql,
new BeanPropertyRowMapper<User>(User.class),
loginUser.getUsername(), loginUser.getPassword());//loginUser来自传参 public User userLogin(User loginUser){}
实体类: