准备:
导入mybatis,及数据库驱动jar包,下面是maven依赖
|
<dependency> <groupId>com.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.3.0</version> </dependency> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc7</artifactId> <version>10.2</version> </dependency>
|
创建三层架构包
TUser实体类,属性与数据库中存储的字段名相对应,可以相同也可以不相同,推荐相同
我的数据库表截图:
User实体类
|
|
创建TUserMapper接口和TUserMapper.xml文件,文件名可以不一致,推荐一致.
|
|
|
|
创建mybatis-config.xml文件
|
|
properties配置文件:
|
|
创建TUserService接口和TUserServiceImpl实现类
|
package com.mybatis.service;
import com.mybatis.bean.TUser;
import java.util.List;
public interface TUserService {
int deleteByPrimaryKey(int id);
int insert(TUser record);
TUser selectByPrimaryKey(int id);
List<TUser> selectAll();
int updateByPrimaryKey(TUser record); } |
|
package com.mybatis.service.impl;
import com.mybatis.MybatisSqlSessionFactory; import com.mybatis.bean.TUser; import com.mybatis.dao.TUserMapper; import com.mybatis.service.TUserService; import org.apache.ibatis.session.SqlSession;
import java.util.List;
/** * @author TH */ public class UserServiceImpl implements TUserService { @Override public int deleteByPrimaryKey(int id) { //这里MybatisSqlSessionFactory是自己创建的工厂类 try(SqlSession session = MybatisSqlSessionFactory.getSqlSessionFactory().openSession()) { TUserMapper tUserMapper = session.getMapper(TUserMapper.class); int result = tUserMapper.deleteByPrimaryKey(id); session.commit(); return result; } }
@Override public int insert(TUser record) { try(SqlSession session = MybatisSqlSessionFactory.getSqlSessionFactory().openSession()) { TUserMapper tUserMapper = session.getMapper(TUserMapper.class); int result = tUserMapper.insert(record); session.commit(); return result; } }
@Override public TUser selectByPrimaryKey(int id) { try(SqlSession session = MybatisSqlSessionFactory.getSqlSessionFactory().openSession()) { TUserMapper tUserMapper = session.getMapper(TUserMapper.class); TUser result = tUserMapper.selectByPrimaryKey(id); return result; } }
@Override public List<TUser> selectAll() { try(SqlSession session = MybatisSqlSessionFactory.getSqlSessionFactory().openSession()) { TUserMapper tUserMapper = session.getMapper(TUserMapper.class); List<TUser> result = tUserMapper.selectAll(); return result; } }
@Override public int updateByPrimaryKey(TUser record) { try(SqlSession session = MybatisSqlSessionFactory.getSqlSessionFactory().openSession()) { TUserMapper tUserMapper = session.getMapper(TUserMapper.class); int result = tUserMapper.updateByPrimaryKey(record); session.commit(); return result; } } } |
工厂类
|
package com.mybatis;
import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException; import java.io.InputStream;
/** * @author TH */ public class MybatisSqlSessionFactory { private static InputStream is; static { try { is = Resources.getResourceAsStream("mybatis-config.xml"); } catch (IOException e) { e.printStackTrace(); } }
private MybatisSqlSessionFactory() { }
public static SqlSessionFactory getSqlSessionFactory(){ return Singer.S_INSTANCE; } private static class Singer{ private static final SqlSessionFactory S_INSTANCE = new SqlSessionFactoryBuilder().build(MybatisSqlSessionFactory.is); } } |
- 开始测试啦:
|
package com.mybatis;
import com.mybatis.bean.TUser;
import com.mybatis.service.impl.UserServiceImpl;
public class Test { public static void main(String[] args) { UserServiceImpl service = new UserServiceImpl(); service.updateByPrimaryKey(new TUser(2,"mt","female")); } } //这里就可以成功修改数据库数据了,执行其他操作只需要调用相应的方法即可 |
如果实现过程中遇到什么问题可评论区留言,会尽快回复.