…
项目所需所有的工具的下载地址:(待上传)
项目的下载地址:(百度云下载链接)
…
…
在Eclipse中,创建一个maven网页项目
(项目的工程目录结构视图)
在pom.xml文件中引入如下jar包:
1)mysql-connector-java-5.1.40.jar
2)mybatis-3.2.8.jar
3) xommons-dbcp-1.4.jar
4) junit-4.7.jar
这些jar包获取地址: 阿里云仓库服务
在上面的云仓库里面搜索需要的jar包,点击进去复制依赖,放在pom.xml文件的标签里面,效果如下(该项目中的pom.xml文件)
4.0.0
com.zhz
Mybatis
0.0.1-SNAPSHOT
mysql
mysql-connector-java
5.1.40
org.mybatis
mybatis
3.2.8
commons-dbcp
commons-dbcp
1.4
junit
junit
4.7
将SqlMapConfig.xml文件放入src/main/resources文件下面(该文件的作用用于设置连接数据库时所需的参数),将文件中的内容根据具体项目更改成类似如下形式:
在mysql要创建与想要用来操作数据库的实体类在属性名上统一的数据库表:
如该项目中的数据库所需的数据表创建如下:
create table t_user(u_id int primary key auto_increment,u_name varchar(20) not null,u_password varchar(20) not null,u_email varchar(30),u_telephone varchar(11));
创建包放置实体类(如该项目中的com.zhz.entity包和包中的User实体类
(实体类创建的时候注意:实体类的属性名必须和数据库中想要操作的对象的名字一致)
创建好的实体类User如下
package com.zhz.entity;
public class User {
public int u_id;
public String u_name;
public String u_password;
public String u_email;
public String u_telephone;
public User() {
super();
}
public User(String u_name, String u_password, String u_email, String u_telephone) {
super();
this.u_name = u_name;
this.u_password = u_password;
this.u_email = u_email;
this.u_telephone = u_telephone;
}
public User(int u_id, String u_name, String u_password, String u_email, String u_telephone) {
super();
this.u_id = u_id;
this.u_name = u_name;
this.u_password = u_password;
this.u_email = u_email;
this.u_telephone = u_telephone;
}
@Override
public String toString() {
return "User [u_id=" + u_id + ", u_name=" + u_name + ", u_password=" + u_password + ", u_email=" + u_email
+ ", u_telephone=" + u_telephone + "]";
}
public String getU_name() {
return u_name;
}
public void setU_name(String u_name) {
this.u_name = u_name;
}
public int getU_id() {
return u_id;
}
public void setU_id(int u_id) {
this.u_id = u_id;
}
public String getU_password() {
return u_password;
}
public void setU_password(String u_password) {
this.u_password = u_password;
}
public String getU_email() {
return u_email;
}
public void setU_email(String u_email) {
this.u_email = u_email;
}
public String getU_telephone() {
return u_telephone;
}
public void setU_telephone(String u_telephone) {
this.u_telephone = u_telephone;
}
}
创建好实体类之后,EmpMapper.xml文件放入与实体类同一个包下,并且将文件名中的“Emp”更改为实体类的类名;(该文件的作用是用于配置数据的操作)
在EmpMapper.xml文件中可以利用标签设置数据库操作的设置,比如该小例中的内容如下:
INSERT INTO
T_USER(U_NAME,U_PASSWORD,U_EMAIL,U_TELEPHONE)
VALUES
(#{u_name},#{u_password},#{u_email},#{u_telephone})
DELETE FROM T_USER WHERE
U_ID=#{id}
UPDATE T_USER SET U_NAME=#{u_name}, U_PASSWORD=#{u_password}, U_TELEPHONE=#{u_telephone}, U_EMAIL=#{u_email} WHERE U_ID=#{u_id}
配置好与mapper相关的文件之后,就可以在其他地方使用MyBatis提供的方法进行数据库的操作,比如该例题中的TestCase:
package com.zhz.test;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import com.zhz.entity.User;
public class TestCase {
public SqlSession session = null;
@Before
public void init(){
SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();
SqlSessionFactory ssf = ssfb.build(TestCase.class.getClassLoader().getResourceAsStream("SqlMapConfig.xml"));
session = ssf.openSession();
}
@Test
public void testInsert(){
User user = new User();
user.setU_name("zhz");
user.setU_email("[email protected]");
user.setU_password("123456");
user.setU_telephone("18798104124");
int insert = session.insert("test.save",user);
session.commit();
session.close();
}
@Test
public void testSelect(){
User user = session.selectOne("test.findByID", 1);
System.out.println(user);
session.close();
}
@Test
public void testDelete(){
int delete = session.delete("test.deleteByID", 1);
session.commit();
session.close();
}
@Test
public void testUpdate(){
User user = new User(5,"cs", "123", "[email protected]", "13124623705");
int delete = session.update("updateByID", user);
session.commit();
session.close();
}
}
项目创建完成,可以在上面的测试类中测试!
…
…
…
…