package com.cnblogs.javalouvre.dao.impl;
import static com.cnblogs.javalouvre.common.ConnectionFactory.getConnection;
import static org.apache.commons.dbutils.DbUtils.closeQuietly;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayHandler;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.ColumnListHandler;
import org.apache.commons.dbutils.handlers.MapHandler;
import org.apache.commons.dbutils.handlers.MapListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import com.cnblogs.javalouvre.dao.UserDao;
import com.cnblogs.javalouvre.exception.DataAccessException;
import com.cnblogs.javalouvre.vo.User;
public class UserDaoImpl implements UserDao {
@Override
public void getLastInsertId(User user) {
Connection conn = getConnection();
try {
int id = (new QueryRunner().insert(conn, "INSERT INTO T_USER(NAME, PWD) VALUES(?, ?)",
new ScalarHandler<Long>(), user.getName(), user.getPwd())).intValue();
System.out.println("主键id: " + id);
} catch (SQLException e) {
throw new DataAccessException(e);
} finally {
closeQuietly(conn);
}
}
@Override
public int save(User user) {
Connection conn = getConnection();
try {
return new QueryRunner().update(conn, "INSERT INTO T_USER(NAME, PWD) VALUES(?, ?)", user.getName(),
user.getPwd());
} catch (SQLException e) {
throw new DataAccessException(e);
} finally {
closeQuietly(conn);
}
}
@Override
public int modify(User user) {
Connection conn = getConnection();
try {
return new QueryRunner().update(conn, "UPDATE T_USER SET NAME = ?, PWD = ? WHERE UID = ?", user.getName(),
user.getPwd(), user.getUid());
} catch (SQLException e) {
throw new DataAccessException(e);
} finally {
closeQuietly(conn);
}
}
@Override
public int remove(int uid) {
Connection conn = getConnection();
try {
return new QueryRunner().update(conn, "DELETE FROM T_USER WHERE UID = ?", uid);
} catch (SQLException e) {
throw new DataAccessException(e);
} finally {
closeQuietly(conn);
}
}
@Override
public Object[] loadObjectArray(int uid) {
Connection conn = getConnection();
try {
return new QueryRunner().query(conn, "SELECT UID, NAME, PWD FROM T_USER WHERE UID = ?", new ArrayHandler(),
uid);
} catch (SQLException e) {
throw new DataAccessException(e);
} finally {
closeQuietly(conn);
}
}
@Override
public User loadBean(int uid) {
Connection conn = getConnection();
try {
return new QueryRunner().query(conn, "SELECT UID, NAME, PWD FROM T_USER WHERE UID = ?",
new BeanHandler<User>(User.class), uid);
} catch (SQLException e) {
throw new DataAccessException(e);
} finally {
closeQuietly(conn);
}
}
@Override
public List<User> loadBeanList() {
Connection conn = getConnection();
try {
return new QueryRunner().query(conn, "SELECT UID, NAME, PWD FROM T_USER",
new BeanListHandler<User>(User.class));
} catch (SQLException e) {
throw new DataAccessException(e);
} finally {
closeQuietly(conn);
}
}
@Override
public int getTotal() {
Connection conn = getConnection();
try {
return (new QueryRunner().query(conn, "SELECT COUNT(1) FROM T_USER", new ScalarHandler<Long>())).intValue();
} catch (SQLException e) {
throw new DataAccessException(e);
} finally {
closeQuietly(conn);
}
}
@Override
public Map<String, Object> loadMapData() {
Connection conn = getConnection();
try {
return new QueryRunner().query(conn, "SELECT UID, NAME, PWD FROM T_USER WHERE UID = 1", new MapHandler());
} catch (SQLException e) {
throw new DataAccessException(e);
} finally {
closeQuietly(conn);
}
}
@Override
public List<Map<String, Object>> loadMapDataList() {
Connection conn = getConnection();
try {
return new QueryRunner().query(conn, "SELECT UID, NAME, PWD FROM T_USER", new MapListHandler());
} catch (SQLException e) {
throw new DataAccessException(e);
} finally {
closeQuietly(conn);
}
}
@Override
public List<String> loadColumnListHandler() {
Connection conn = getConnection();
try {
return new QueryRunner().query(conn, "SELECT NAME FROM T_USER", new ColumnListHandler<String>());
} catch (SQLException e) {
throw new DataAccessException(e);
} finally {
closeQuietly(conn);
}
}
}
DBUtils工具的使用
猜你喜欢
转载自blog.csdn.net/footprint01/article/details/83089621
今日推荐
周排行