java mysql mybatis_Java + MyBatis + MySql测试

先来看结构图

2be41738d94cad3e049a5be1e4dff276.png

包引用

mybatis-3.3.1.jar

mysql-connector-java-5.1.38-bin.jar

Mybatis配置

mybatis-config.xml

MyBatisConnectionFactory.java

package com.yehun.mybatis;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.Reader;

import org.apache.ibatis.io.Resources;

import org.apache.ibatis.session.SqlSessionFactory;

import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class MyBatisConnectionFactory {

private static SqlSessionFactory sqlSessionFactory;

static {

try {

String resource = "mybatis-config.xml";

Reader reader = Resources.getResourceAsReader(resource);

if (sqlSessionFactory == null) {

sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);

}

}

catch (FileNotFoundException fileNotFoundException) {

fileNotFoundException.printStackTrace();

}

catch (IOException iOException) {

iOException.printStackTrace();

}

}

public static SqlSessionFactory getSqlSessionFactory() {

return sqlSessionFactory;

}

}

TestEntity.java

package com.yehun.entity;

public class TestEntity {

public TestEntity() { }

public TestEntity(String name) {

this.Name = name;

}

public TestEntity(int id, String name) {

this.Id = id;

this.Name = name;

}

private int Id;

private String Name;

public int getId() {

return Id;

}

public void setId(int id) {

Id = id;

}

public String getName() {

return Name;

}

public void setName(String name) {

Name = name;

}

}

TestMapper.java

package com.yehun.mapper;

import java.util.List;

import org.apache.ibatis.session.SqlSession;

import org.apache.ibatis.session.SqlSessionFactory;

import com.yehun.entity.TestEntity;

public class TestMapper {

private SqlSessionFactory sqlSessionFactory = null;

public TestMapper(SqlSessionFactory sqlSessionFactory) {

this.sqlSessionFactory = sqlSessionFactory;

}

public List getListAll() {

List list = null;

SqlSession session = sqlSessionFactory.openSession();

try {

list = session.selectList("TestMapper.getListAll");

} finally {

session.close();

}

return list;

}

public TestEntity getTest(int id) {

TestEntity entity = null;

SqlSession session = sqlSessionFactory.openSession();

try {

entity = session.selectOne("TestMapper.getTest", id);

} catch (Exception e) {

session.close();

}

return entity;

}

public int insertAll(TestEntity entity) {

int row = 0;

SqlSession session = sqlSessionFactory.openSession();

try {

row = session.insert("TestMapper.insert", entity); //故意模拟了一个错误, name字段不允许重复, 插入两次自然会报错

row = session.insert("TestMapper.insert", entity);

session.commit();

} catch (Exception e) {

session.rollback();

session.close();

row = 0;

}

return row;

}

public int insert(TestEntity entity) {

int row = 0;

SqlSession session = sqlSessionFactory.openSession();

try {

row = session.insert("TestMapper.insert", entity);

session.commit();

} catch (Exception e) {

session.close();

}

return row;

}

public int update(TestEntity entity) {

int row = 0;

SqlSession session = sqlSessionFactory.openSession();

try {

row = session.update("TestMapper.update", entity);

session.commit();

} catch (Exception e) {

session.close();

}

return row;

}

public int delete(int id) {

int row = 0;

SqlSession session = sqlSessionFactory.openSession();

try {

row = session.delete("TestMapper.delete", id);

session.commit();

} catch (Exception e) {

session.close();

}

return row;

}

}

TestMapper.xml

SELECT * FROM test;

SELECT * FROM test where id=#{id};

insert into test(name) value(#{Name})

update test set name=#{name} where id=#{id}

delete from test where id=#{id}

Main.java

package com.yehun.main;

import java.util.List;

import com.yehun.entity.TestEntity;

import com.yehun.mapper.TestMapper;

import com.yehun.mybatis.MyBatisConnectionFactory;

public class Main {

public static void main(String[] args) {

TestMapper mapper = new TestMapper(MyBatisConnectionFactory.getSqlSessionFactory());

int row = 0;

logger("事务--------------------");

row = mapper.insertAll(new TestEntity("FFF")); //故意模拟了一个错误

logger("结果: " + row);

logger("添加--------------------");

row = mapper.insert(new TestEntity("EEE"));

logger("结果: " + row);

logger("修改--------------------");

row = mapper.update(new TestEntity(1, "BBB"));

logger("结果: " + row);

logger("删除--------------------");

row = mapper.delete(15);

logger("结果: " + row);

logger("------------------------");

List list = mapper.getListAll();

if(list != null) {

logger("查询列表-----------------");

for (TestEntity entity : list) {

logger("Id:\t" + entity.getId());

logger("Name:\t" + entity.getName());

}

logger("------------------------");

}

logger("查询单条-----------------");

TestEntity entity = mapper.getTest(8);

if(entity != null) {

logger("Id:\t" + entity.getId());

logger("Name:\t" + entity.getName());

} else {

logger("null");

}

logger("------------------------");

}

public static void logger(Object object) {

System.out.println(object);

}

}

//结果

事务--------------------

结果: 0

添加--------------------

结果: 0

修改--------------------

结果: 1

删除--------------------

结果: 0

------------------------

查询列表-----------------

Id: 16

Name: AAA

Id: 1

Name: BBB

Id: 19

Name: EEE

Id: 8

Name: test2

------------------------

查询单条-----------------

Id: 8

Name: test2

------------------------

Demo打包下载:http://share.weiyun.com/aa6215cc1b16baf156b72d1ef658724d (密码:V25S)

如分享过期,请评论通知博主,会在看到的第一时间更新链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值