mysql下载
1、如果之前安装过mysql没成功,需先卸载
(1)进入下载目录,删除MySQL文件夹:
显示隐藏文件,删除ProgramData中的MySQL文件夹:
(2)或者进入控制面板卸载:
进入“程序和功能”:
选择卸载:
2、运行mysql-5.0.15-win32.exe,一直默认下一步即可
其中,到下图所示步骤,点击“finish”后:
如果没有弹窗弹出,需手动进入文件下载目录的bin中配置:
到该页面时选择第3个,选择utf-8编码:
设置用户名和密码都为root:
安装Navicat
安装没什么好说的,选择安装路径即可。
安装完成后,新建连接:
连接名随意,输入用户名和密码。
新建一个数据库“oa”,选择utf-8字符集:
jsp搭建
1、导入jar包
2、新建包:
3、在“com.xmx.oa.model.utils”包下新建class“OaUtils.java”:
该包为工具类。
“OaUtils.java”实现与数据库建立连接:
package com.xmx.oa.model.utils;
import java.sql.*;
//与数据库建立连接
public class OaUtils {
static String driver = "com.mysql.jdbc.Driver";
static Connection conn;
static String url="jdbc:mysql://localhost:3306/oa";
static String user = "root";
static String password = "root";
//1.拷jar包到lib下
public static Connection getConnection(){
//2.加载驱动
try{
Class.forName(driver);
//3.建立连接
conn = DriverManager.getConnection(url, user, password);
}catch(Exception e){
e.printStackTrace();
}
return conn;
}
}
4、在“com.xmx.oa.test”包下新建class“OaTest.java”:
该包为测试类。
“OaTest.java”实现在数据访问层(dao层)中的方法的测试:
package com.xmx.oa.test;
import java.sql.Connection;
import org.junit.Test;
import com.xmx.oa.model.utils.OaUtils;
public class OaTest {
//单元测试:
//方法可以直接运行,在此方法名前加@Test,说明后面的方法为测试方法
//测试方法返回值为void,不能有参数值。
//运行测试方法:选中方法名“test1”,右键“Run As”
@Test
public void test1(){
Connection conn = OaUtils.getConnection();
System.out.println(conn);
}
}
5、运行test1,选中方法名“test1”,右键选择“Run As” --> “JUnit Test”:
运行结果如下:
6、在“com.xmx.oa.model.service”包下新建接口“IPersonService.java”:
该包为业务逻辑层。
接口“IPersonService.java”列出了所有在dao层中写的方法:
package com.xmx.oa.model.service;
import java.util.List;
import com.xmx.oa.model.entity.Person;
public interface IPersonService {
//列出所有的实现的功能
//添加功能方法
//添加
public int addPerson(Person p);
//删除
public int deletePersonByID(int id);
//修改
public int updatePerson(Person p);
//查询所有记录
public List<Person> findAllPerson();
//按照编号来查找
public Person findByIdPerson(int id);
//删除多个用户
public int deleteManyPerson(int id[]);
//分页查询
public List<Person> findByPage(int currentpage, int size);
}
7、在“com.xmx.oa.model.entity”包下新建class“Person.java”:
该包为实体类。
“Person.java”列出了数据表中所有的变量以及其方法:
int id;
String name;
String sex;
int age;
String phone;
构造get和set,以及有参和无参和toString:
package com.xmx.oa.model.entity;
public class Person {
int id;
String name;
String sex;
int age;
String phone;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public Person(int id, String name, String sex, int age, String phone) {
super();
this.id = id;
this.name = name;
this.sex = sex;
this.age = age;
this.phone = phone;
}
public Person() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "Person [id=" + id + ", name=" + name + ", sex=" + sex + ", age="
+ age + ", phone=" + phone + "]";
}
}
8、在“com.xmx.oa.model.service.impl”包下新建class“PersonServiceIpml.java”:
该包为业务逻辑层的接口。
新建时加入之前建好的接口:
修改其方法的返回值,代码如下:
package com.xmx.oa.model.service.impl;
import java.util.List;
import com.xmx.oa.model.dao.PersonDao;
import com.xmx.oa.model.entity.Person;
import com.xmx.oa.model.service.IPersonService;
public class PersonServiceImpl implements IPersonService {
PersonDao dao=new PersonDao();
@Override
public int addPerson(Person p) {
// TODO Auto-generated method stub
return dao.addPerson(p);
}
@Override
public int deletePersonById(int id) {
// TODO Auto-generated method stub
return dao.deletePersonById(id);
}
@Override
public int updatePerson(Person p) {
// TODO Auto-generated method stub
return dao.updatePerson(p);
}
@Override
public List<Person> findAllPerson() {
// TODO Auto-generated method stub
return dao.findAllPerson();
}
@Override
public Person findByIdPerson(int id) {
// TODO Auto-generated method stub
return dao.findByIdPerson(id);
}
@Override
public int deleteManyPerson(int[] id) {
// TODO Auto-generated method stub
return dao.deleteManyPerson(id);
}
@Override
public List<Person> findByPage(int currentpage, int size) {
// TODO Auto-generated method stub
return dao.findByPage(currentpage, size);
}
}
9、在“com.xmx.oa.model.dao”包下新建class“PersonDao.java”:
该包为数据访问层。
和8一样,添加接口,代码:
package com.xmx.oa.model.dao;
import java.util.List;
import com.xmx.oa.model.entity.Person;
public class PersonDao {
public int addPerson(Person p) {
// TODO Auto-generated method stub
return 0;
}
public int deletePersonById(int id) {
// TODO Auto-generated method stub
return 0;
}
public int updatePerson(Person p) {
// TODO Auto-generated method stub
return 0;
}
public List<Person> findAllPerson() {
// TODO Auto-generated method stub
return null;
}
public Person findByIdPerson(int id) {
// TODO Auto-generated method stub
return null;
}
public int deleteManyPerson(int[] id) {
// TODO Auto-generated method stub
return 0;
}
public List<Person> findByPage(int currentpage, int size) {
// TODO Auto-generated method stub
return null;
}
}