mybatis入门之映射接口开发
稍等两分钟,我重新写个例子。。。。。。
Two years later。。。。。我又回来了
这是我嘞数据库哈,
1.老一套,建个项目,加上依赖(jar包) ,下面是项目结构
与用mapper.xml不同的就是它多了个接口,接口与接口包的名字和映射文件与映射包的名字相同
核心配置里我是直接映射的包
<mappers>
<package name="com.mapper"/>
</mappers>
接口里的代码:
package com.mapper;
import java.util.List;
import java.util.Map;
import com.pojo.Emp;
public interface EmpMapper {
// 查一个
List<Map<String, Object>> selectOne(int empid);
// 查所有
List<Emp> selectAll();
// 插一个
int insertOne(Emp emp);
}
测试代码如下:
package com.test;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
import java.util.Map;
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 com.mapper.EmpMapper;
import com.pojo.Emp;
public class Mytest {
public static void main(String[] args) throws IOException {
InputStream inputStream = Resources.getResourceAsStream("Mybatis-config.xml");
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = sessionFactory.openSession();
// 获取映射接口
EmpMapper empMapper = session.getMapper(EmpMapper.class);
Emp emp = new Emp();
// 插入一条
emp.setEmpname("奥特曼");
emp.setEmpsex("男");
emp.setSalary(2020);
emp.setIntime(new Date());
emp.setDeptid(2);
int num = empMapper.insertOne(emp);
System.out.println("插入条数:" + num);
System.out.println("==================================");
// 查一条
List<Map<String, Object>> empList = empMapper.selectOne(1);
System.out.println(empList);
System.out.println("===================================");
// 查全部
List<Emp> list = empMapper.selectAll();
for (Emp emp2 : list) {
System.out.println(emp2.getEmpname());
}
}
}
结果如下:
插入条数:1
==================================
[{empname=张三, empsex=男, intime=2010-02-02 08:00:00.0, salary=2008.5}]
===================================
张三
李四
王五
赵六
王二麻子
张无忌
张三丰
马化腾
马云
奥特曼
小弟初来乍到,有不对的地方请大佬们指点;