1、jar包的引用
必要的jar包放在lib文件夹中,并导入。记得添加到项目中。
2、tomcat的添加
选取自己的Tomcat文件,选择bin文件的上一层就OK。
3、文件夹目录的创建
bean包:放实体类;
dao包:放操作数据库接口;
service:服务层;
servlet:定义处理请求的servelt类;
util:放置后期使用的工具类;
以上包之间的调用逻辑说明:
客户端发送类的请求找servlet,->通过servlet调取service,service调取dao,dao调取数据库。
4、代码编辑
Ename类
package ywl.bean;
//实体类包主要存放和数据库对应的实体类
//类名=表名
//列名=属性名
//实体类需包含:属性,构造(无参、全参),getter/setter方法
public class Ename {
private Integer userid;
private String username;
public Ename() {
}
public Ename(Integer userid, String username) {
this.userid = userid;
this.username = username;
}
public Integer getUserid() {
return userid;
}
public void setUserid(Integer userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
接口
package ywl.dao;
//实体类名+Dao = 当前类名;
import ywl.bean.Ename;
import java.util.List;
public interface EnameDao {
//定义操作数据库的方法
//这里在页面中展示所有数据?思考:如果展示部分数据呢?
public List<Ename> getall();
}
实现类:
package ywl.dao.impl;
import ywl.bean.Ename;
import ywl.dao.EnameDao;
import java.util.List;
// 命名:接口名+Impl=当前类名;这里是一个实现类;
public class EnameDaoimpl implements EnameDao {
@Override
public List<Ename> getall() {
return null;
}
}
数据库的链接:
util中添加实现类。
这里使用德鲁伊链接池
package ywl.util;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import javax.xml.transform.Result;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class DruidUtil {
private static DataSource ds;
static{
try {
Properties ppt = new Properties();
ppt.load(DruidUtil.class.getClassLoader().getResourceAsStream("druid.properties"));
ds = DruidDataSourceFactory.createDataSource(ppt);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 从连接池中取出一个连接给用户
* @return
*/
public static Connection getConnection(){
try {
return ds.getConnection();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return null;
}
public static void close(Connection conn, Statement state, ResultSet rs){
try {
rs.close();
} catch (Exception throwables) {
throwables.printStackTrace();
}
try {
state.close();
} catch (Exception throwables) {
throwables.printStackTrace();
}
try {
conn.close();
} catch (Exception throwables) {
throwables.printStackTrace();
}
}
}
添加属性文件:
url=jdbc:mysql://localhost:3306/tes1t?useUnicode=true&characterEncoding=utf-8
username=root
password=root
driverClassName=com.mysql.cj.jdbc.Driver
initialSize=5
maxActive=10
minIdle=5
maxWait=3000
接下来,完成实现类的内容:
package ywl.dao.impl;
import ywl.bean.Ename;
import ywl.dao.EnameDao;
import ywl.util.DruidUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
// 命名:接口名+Impl=当前类名;这里是一个实现类;
public class EnameDaoimpl extends DruidUtil implements EnameDao {
@Override
public List<Ename> getall() {
List list = new ArrayList();
Connection connection =null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
//jdbc的使用,这里不做详细说明。
try {
connection = getConnection();
preparedStatement = connection.prepareStatement("select * from ename ");
resultSet = preparedStatement.executeQuery();
while (resultSet.next()){
Ename ename = new Ename();
ename.setUserid(resultSet.getInt("userid"));
ename.setUsername(resultSet.getString("username"));
list.add(list);
}
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
close(connection,preparedStatement,resultSet);
}
return list;
}
}