J2EE课程总结笔记
前期准备:
数据库操作:
create database …;//建表
use …;//用表`
create table book(
name VARCHAR(40) NOT NULL,
creator VARCHAR(40) NOT NULL,
time DATE,
PRIMARY KEY (name)
)ENGINE=InnoDB DEFAULT CHARSET=gbk;
//建表操作
IDE:MyExlipse
第一步:封装实体类entity:
Course和CoursePage.无参构造器和含参构造器
含参构造器:Source→Generate Constructor using Fields;
设置get和set:Source→Generate Getters andSetters;
第二步:实现dao层:(使用接口)
在Web App Libraries中导入c3p0和mysql的jar包;
新建包utils:复制DBUtils的函数类
新建类CourseDao类:对象Vector courses;
public CourseDaoImpl(){courses = new Vector();}
常见函数:(使用DBUtils)
- add操作(insert)
public boolean addCourse(Course course){
Map<String, Object> valueMap = new HashMap<>();
//导入java.util.HashMap.HashMap<String, Object>()
valueMap.put("name", course.getName());
valueMap.put("creator",course.getCreator());
valueMap.put("cdate",newTimestamp(course.getCreateDate().getTime()));
//insert name,creator,cdate,cdate要转换成Timestamp类型
try {
int count = DBUtil.insert("courses", valueMap);
if(count > 0){
return true;
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
return false;
}
- findbycouesename(query)
public boolean findByCourseName(Course course){
boolean isSuc = false;
Map<String, Object> whereMap = new HashMap<>();
whereMap.put("name", course.getName());
try {
List<Map<String, Object>> list = DBUtil.query("courses",whereMap);
if(list.size() == 1){
isSuc = true;
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
return isSuc;
}
3.3.find all courses(query)
public Vector<Course> findAllCourses(){
Map<String, Object> map = null;
Course course = null;
try {
List<Map<String, Object>> list = DBUtil.query("courses",null);
int size = list.size();
for(int i=0;i<size;i++){
map = list.get(i);
course = new Course((String)map.get("name"),(String)map.get("creator"),
(Timestamp)map.get("cdate"));
courses.add(course);
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
return courses;
}
4.delete(delete)
public boolean delCourse(Course course){
Map<String, Object> whereMap = new HashMap<>();
whereMap.put("name", course.getName());
try {
int count = DBUtil.delete("courses",whereMap);
if(count > 0){
return true;
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
return false;
}
5…modify更新(update)
public boolean modifyCourse(Course course){
Map<String, Object> whereMap = new HashMap<>();
whereMap.put("name", course.getName());
Map<String, Object> valueMap = new HashMap<>();
valueMap.put("creator", course.getCreator());
valueMap.put("cdate", new Timestamp(course.getCreateDate().getTime()));
try {
int count = DBUtil.update("courses",valueMap, whereMap);
if(count > 0){
return true;
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
return false;
}
6.get count(query)
public int getCountofCourses() {
try {
List<Map<String, Object>> list = DBUtil.query("courses",null);
return list.size();
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
return 0;
}
7.get all by page(query)
public List<Course> getAllCourses(int curPage, int pageSize) {
Map<String, Object> map = null;
Course course = null;
String sql ="select * from courses limit "+ (curPage-1)*pageSize+","+pageSize;
try {
List<Map<String, Object>> list = DBUtil.query(sql);
int size = list.size();
for(int i=0;i<size;i++){
map = list.get(i);
course = new Course((String)map.get("name"),(String)map.get("creator"),
(Timestamp)map.get("cdate"));
courses.add(course);
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
return courses;
}
第三步:实现service层(class):
不同的实现(加if和flag保护)
第四步:控制器层controller(servlet):
1.设置编码:request.setCharacterEncoding(“gbk”);
2.会话:HttpSession session = request.getSession(false);
3.初次跳转:
if(session == null){ request.getRequestDispatcher(“login.jsp”).forward(request,response);
}
4.取值与传值;getattribute和setattribute;
前端jsp页面:
1.前期设置:
取值
2.先设计前端的页面如表单;
3.添加JS
验证不为空
function validateForm(){
var cName = document.forms[“modCourse”][“cName”].value;
var cCreator = document.forms[“modCourse”][“cCreator”].value;
if (cName ==null || cName =="")
{
alert(“课程名称必须填写!”);
return false;
}else if (cCreator ==null || cCreator =="")
{
alert(“创建者不能为空!”);
return false;
}
}