Article Directory
Database development: basic operation (query)
♦ JdbcTemplate operation database (the query returns a certain value)
1、How many records are in the query table, The return is a certain value
- Database: User Information Table
@Service
public class UserService {
// 注入UserDao对象属性
@Autowired
private UserDao userDao;
// 添加用户
public void addUser(User user){
userDao.add(user);
}
// 修改用户
public void updateUser(User user){
userDao.updateUser(user);
}
// 删除用户
public void deleteUser(String id){
userDao.deleteUser(id);
}
// 查询用户表的记录数
public int Count(){
return userDao.selectCount();
}
}
2, JdbcTemplate
implement the query returns a value.
- The first parameter:
sql 语句
- The second parameter:
返回值的类型所对应的类(.class)
public interface UserDao {
// 添加用户的方法
void add(User user);
// 修改用户的方法
void updateUser(User user);
// 删除用户记录
void deleteUser(String id);
// 查询用户表的记录数
int selectCount();
}
@Repository
public class UserDaoImpl implements UserDao {
// 注入JdbcTemplate对象
@Autowired
private JdbcTemplate jdbcTemplate;
// 重写add方法
@Override
public void add(User user) {
.......
}
// 重写updateuser方法
@Override
public void updateUser(User user) {
.......
}
// 删除用户记录
@Override
public void deleteUser(String id) {
.......
}
// 查询返回用户表的记录数
@Override
public int selectCount() {
// sql 语句
String sql = "select count(*) from t_user";
int count = jdbcTemplate.queryForObject(sql,Integer.class);
return count;
}
}
3. Test
@org.junit.Test
public void test_jdbc(){
try {
ApplicationContext context = new ClassPathXmlApplicationContext("JDBC/bean_jdbc.xml");
UserService userService = context.getBean("userService",UserService.class);
// 查询返回用户表的记录数
int count = userService.Count();
System.out.println("用户信息表的记录数为"+count+"条。");
} catch (Exception e){
e.printStackTrace();
}
}
♦ JdbcTemplate operation database (the query returns the object)
1. Scenario: Query user details
public interface UserDao {
// 添加用户的方法
void add(User user);
// 修改用户的方法
void updateUser(User user);
// 删除用户记录
void deleteUser(String id);
// 查询用户表的记录数
int selectCount();
// 查询返回用户对象
User selectObject(String id);
}
@Service
public class UserService {
// 注入UserDao对象属性
@Autowired
private UserDao userDao;
// 添加用户
public void addUser(User user){
userDao.add(user);
}
// 修改用户
public void updateUser(User user){
userDao.updateUser(user);
}
// 删除用户
public void deleteUser(String id){
userDao.deleteUser(id);
}
// 查询用户表的记录数
public int Count(){
return userDao.selectCount();
}
// 查询返回用户对象
public User select_Object(String id){
return userDao.selectObject(id);
}
}
2. JdbcTemplate implements query return objects
- The first parameter:
sql 语句
- The second parameter:
RowMapper
is the interface, add corresponding generics for returning different types of data, and use this interface to implement classes to complete data encapsulation - The third parameter:
sql 语句值
@Repository
public class UserDaoImpl implements UserDao {
// 注入JdbcTemplate对象
@Autowired
private JdbcTemplate jdbcTemplate;
// 重写add方法
@Override
public void add(User user) {
.......
}
// 重写updateuser方法
@Override
public void updateUser(User user) {
.......
}
// 删除用户记录
@Override
public void deleteUser(String id) {
.......
}
// 查询返回用户表的记录数
@Override
public int selectCount() {
........
}
// 查询返回用户对象
@Override
public User selectObject(String id) {
// sql 语句
String sql = "select * from t_user where userId=?";
User user = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<User>(User.class), id);
return user;
}
}
3. Test
@org.junit.Test
public void test_jdbc(){
try {
ApplicationContext context = new ClassPathXmlApplicationContext("JDBC/bean_jdbc.xml");
UserService userService = context.getBean("userService",UserService.class);
User user1 = userService.select_Object("1");
System.out.println("你查找的用户信息为:"+user1);
} catch (Exception e){
e.printStackTrace();
}
}
♦ JdbcTemplate operation database (query returns collection)
1. Scenario: Query user list page...
public interface UserDao {
// 添加用户的方法
void add(User user);
// 修改用户的方法
void updateUser(User user);
// 删除用户记录
void deleteUser(String id);
// 查询用户表的记录数
int selectCount();
// 查询返回用户对象
User selectObject(String id);
// 查询返回集合
List<User> findAll();
}
@Service
public class UserService {
// 注入UserDao对象属性
@Autowired
private UserDao userDao;
// 添加用户
public void addUser(User user){
userDao.add(user);
}
// 修改用户
public void updateUser(User user){
userDao.updateUser(user);
}
// 删除用户
public void deleteUser(String id){
userDao.deleteUser(id);
}
// 查询用户表的记录数
public int Count(){
return userDao.selectCount();
}
// 查询返回用户对象
public User select_Object(String id){
return userDao.selectObject(id);
}
// 查询信息返回集合
public List<User> findAll(){
return userDao.findAll();
}
}
2. Call the JdbcTemplate method to implement the query and return the collection
- The first parameter:
sql 语句
- The second parameter:
RowMapper
is the interface, for returning different types of data, use the implementation class in this interface to complete data encapsulation - The third parameter:
sql 语句值
@Repository
public class UserDaoImpl implements UserDao {
// 注入JdbcTemplate对象
@Autowired
private JdbcTemplate jdbcTemplate;
// 重写add方法
@Override
public void add(User user) {
.......
}
// 重写updateuser方法
@Override
public void updateUser(User user) {
.......
}
// 删除用户记录
@Override
public void deleteUser(String id) {
.......
}
// 查询返回用户表的记录数
@Override
public int selectCount() {
........
}
// 查询返回用户对象
@Override
public User selectObject(String id) {
.........
}
// 查询信息返回集合
@Override
public List<User> findAll() {
// sql语句
String sql = "select * from t_user";
List<User> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper<User>(User.class));
return list;
}
}
3. Test
@org.junit.Test
public void test_jdbc(){
try {
ApplicationContext context = new ClassPathXmlApplicationContext("JDBC/bean_jdbc.xml");
UserService userService = context.getBean("userService",UserService.class);
// 查询返回集合
List<User> list = userService.findAll();
System.out.println(list);
} catch (Exception e){
e.printStackTrace();
}
}