mybatis
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis相关的知识,希望对你有一定的参考价值。
mybatis 基本开发
mybatis介绍:mybatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注sql语句本身,而不必去创建连接,加载驱动,遍历结果集等繁杂的过程;
mybatis所需基本jar包:mybatis-3.4.5.jar(mybatis基本包) mysql-connector-java-5.1.42-bin.jar(mysql数据驱动包)
环境:eclipse
1:建立工程 mybatis,在WEB-INF/lib下导入基本jar包:
2:创建mybatis基本配置文件(2个,SqlMapConfig.xml(配置文件),mapper.xml(sql语句映射))---在src下创建
SqlMapConfig.xml:
!!!其中:mappers中 需要指明sql映射文件的路径 因为将mapper.xml和SqlMapConfig.xml放在同一目录,所以直接指明名称
mapper.xml:
3:编写java代码(使用dao方式测试)--在src下创建包与类
编写user用户类,与数据库里的数据对应,添加属性,设置get和set方法
user.java
//数据库user用户
public class User {
//编号
private int id;
//姓名
private String name;
//工资
private double money;
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 double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
}
test1.java
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import org.apache.ibatis.io.Resources;
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;
public class Test1 {
private SqlSessionFactory sqlSessionFactory;
//测试注解,在@Test之前如果没有则会报pointNull错误
@Before
public void createSqlSessionFactory() throws IOException {
String resource="SqlMapConfig.xml";
InputStream inputStream=Resources.getResourceAsStream(resource);
sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
}
//查询用户信息
@Test
public void find() {
SqlSession sqlSession=null;
try {
sqlSession=sqlSessionFactory.openSession();
User user=sqlSession.selectOne("test.selectUser",2);
System.out.println(user);
System.out.println(user.getId()+" "+user.getName()+" "+user.getMoney());
List<User> list=sqlSession.selectList("test.selectName","h");
System.out.println(list.size());
System.out.println(list.toString());
System.out.println(list.get(0).getName());
System.out.println(list.get(1).getName());
} catch (Exception e) {
System.out.println(e);
}finally {
if(sqlSession!=null) {
sqlSession.close();
}
}
}
//添加用户信息
@Test
public void insertTest(){
SqlSession sqlSession=null;
try {
//创建sqlsession回话
sqlSession=sqlSessionFactory.openSession();
//创建用户信息
User user=new User();
user.setName("欢欢1");
user.setMoney(6000);
//添加插入数据
sqlSession.insert("test.insert",user);
//提交事务 对于插入操作,需要用事务
sqlSession.commit();
System.out.println("插入成功");
} catch (Exception e) {
// TODO: handle exception
System.err.println(e);
}finally {
sqlSession.close();
}
}
//删除数据
@Test
public void delete() {
SqlSession sqlSession = null;
try {
sqlSession=sqlSessionFactory.openSession();
sqlSession.delete("test.delete", 11);
sqlSession.commit();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally {
sqlSession.close();
}
}
//更新数据
@Test
public void update() {
SqlSession sqlSession=null;
try {
sqlSession=sqlSessionFactory.openSession();
User user=new User();
user.setName("欢欢2");
user.setId(14);
sqlSession.update("test.update", user);
sqlSession.commit();
System.out.println("更新成功");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally {
sqlSession.close();
}
}
}
以上是关于mybatis的主要内容,如果未能解决你的问题,请参考以下文章