帮助自己理解最基本的思路,也可以为一些想学这个的新手提供一个实例帮助理解、学习。
第一步创建web项目并导包
第二步创建相应的包和类和druid配置文件
第三步写具体的代码
这里只提供一部分代码或截图
druid.properties
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/demo?serverTimezone=GMT%2b8&characterEncoding=utf-8
username=root
password=12345
testOnBorrow=true
validationQuery=select 'x'
DruidUtil.java
package com.ujiuye.druid;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbutils.QueryRunner;
import com.alibaba.druid.pool.DruidDataSourceFactory;
public class DruidUtil {
public static DataSource getDs() throws Exception {
//读取配置文件
InputStream in=DruidUtil.class.getClassLoader().getResourceAsStream("druid.properties");
//创建属性对象
Properties p=new Properties();
DataSource ds=null;
try {
p.load(in);
ds=DruidDataSourceFactory.createDataSource(p);
} catch (IOException e) {
e.printStackTrace();
}
return ds;
}
public static QueryRunner getQr() throws Exception {
DataSource ds=getDs();
return new QueryRunner(ds);
}
}
UserDao.java
package com.ujiuye.dao;
import java.util.List;
import com.ujiuye.entity.User;
public interface UserDao {
public User login(User user);
public int register(User user);
public int delect(int id);
public User selectOne(int id);
public int update(User user);
public List<User> selectAll(String kay);
}
UserDaoImp.java
package com.ujiuye.dao.imp;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import com.ujiuye.dao.UserDao;
import com.ujiuye.druid.DruidUtil;
import com.ujiuye.entity.User;
public class UserDaoImp implements UserDao {
QueryRunner qr=null;
public User login(User user) {
User us=null;
try {
qr = DruidUtil.getQr();
String sql="select * from user where name=? and password=?";
us =qr.query(sql, new BeanHandler<User>(User.class),user.getName(),user.getPassword());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return us;
}
public int register(User user) {
int row=0;
try {
qr=DruidUtil.getQr();
String sql="insert into user(name,password) values(?,?)";
row =qr.update(sql,user.getName(),user.getPassword());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return row;
}
public int delect(int id) {
int row=0;
try {
qr = DruidUtil.getQr();
String sql="delete from user where id=?";
row =qr.update(sql,id);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return row;
}
public User selectOne(int id) {
User user=null;
try {
qr = DruidUtil.getQr();
String sql="select * from user where id=?";
user =qr.query(sql, new BeanHandler<User>(User.class),id);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return user;
}
public int update(User user) {
int row=0;
try {
qr = DruidUtil.getQr();
String sql="update user set name=?,password=? where id=?";
row =qr.update(sql,user.getName(),user.getPassword(),user.getId());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return row;
}
public List<User> selectAll(String kay) {
List<User> user=null;
try {
qr = DruidUtil.getQr();
String sql="select * from user where 1=1";
if (kay==null) {
kay="";
}
if(!("".equals(kay))) {
sql += " and name like '%"+kay+"%'";
}
user=(List<User>) qr.query(sql, new BeanListHandler(User.class));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return user;
}
}
RegisterServlet.java
LoginServlet.java
DeleteServlet.java
edit.java
ShowAll.java
第四步编写jsp界面并且运行
总共的jsp
运行结果
0.0渣渣项目…,完整代码点此链接(我设置的0但是csdn会增加1币,需要的留言)
java注册登录 Druid+Servlet+jsp实现user表的增删查改