使用Mybatis框架管理数据库


项目所需所有的工具的下载地址:(待上传)
项目的下载地址:(百度云下载链接)


在Eclipse中,创建一个maven网页项目
(项目的工程目录结构视图)

使用Mybatis框架管理数据库_第1张图片

在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();
	}
}

项目创建完成,可以在上面的测试类中测试!



你可能感兴趣的:(JavaWeb,MyBatis)