黑马程序员的一个小案例
对于我这种新手来说确实头疼,因为刚学的JDBC和连接池还没记清楚,刚好巩固一下。
第一步,MySQL建表。
第二步,创建一个web项目,web项目中有很多包,domain包是放user对象的,Dao包是放对对象的操作的,Test包是放测试类的,Utils包是放工具类的
首先是domian包下的User类,此类中定义了id,username,password,跟表中对应,然后自动生成getter和setter方法以及toString方法。
接下来开始写工具类了,这个工具类JDBCUtils是有关数据库连接池druid的,导入jar包,导入配置文件,然后开始写了,首先要定义一个DataSource对象,就称为ds吧,然后在此类中有2个方法,一个是getDataSource方法,一个是getConnection方法,都是static的,因为可以直接通过类名调用方法;
还要写什么呢,接下来在静态代码块中进行操作,解析配置文件以及获取连接对象(即DataSource)
public class JDBCUtils {
private static DataSource ds;
static {
try {
//加载配置文件
Properties pro=new Properties();
InputStream rs = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");
pro.load(rs);
//获取连接对象
ds = DruidDataSourceFactory.createDataSource(pro);
} catch (Exception e) {
e.printStackTrace();
}
}
//获取连接池对象
public static DataSource getDataSource(){
return ds;
}
//获取连接
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
}
这时候工具类基本上就完成了,下一步,DAO包下面的LoginDao类
这个类是用来获取user对象,对数据库中进行查询,查到了就返回user对象,没查到返回空`
public class userDAO {
//获取jdbcTemplate对象,便于调用sql语句
private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
//传入登录时获取参数得到的对象,返回一个对象,若在数据库中能找到,则返回,否则则返回null
public User login(User loginUser){