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的主要内容,如果未能解决你的问题,请参考以下文章

MybatisMyBatis 注解方式的基本 用法

MybatisMyBatis之缓存

MyBatisMyBatis的增删改查

Mybatismybatis登录实例

MybatisMybatis基础(中)

MybatisMybatis缓存