select * from dept where deptno=#{id}insert into dept(dname,loc) values( #{dname,jdbcType=VARCHAR}, #{loc,jdbcType=VARCHAR})update dept set dname=#{dname},loc=#{loc} where deptno=#{deptno}delete from dept where deptno=#{id}
JAVA就业套餐课:https://edu.csdn.net/combo/detail/1230
package org.mybatis.example.dao; public interface DeptMapper { public Dept selectOne(int id); public int insertDept(Dept dept); public int updateDept(Dept dept); public int deleteDept(int id); }
import java.io.IOException; import java.io.Reader; 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.mybatis.example.dao.Dept; import org.mybatis.example.dao.DeptMapper; public class Test2 { public static void main(String[] args) throws IOException { String resource="mybatisConfig.xml"; Reader reader=Resources.getResourceAsReader(resource); SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader); SqlSession session=sqlMapper.openSession(); try { DeptMapper mapper=session.getMapper(DeptMapper.class); //1.查询 // Dept dept=mapper.selectOne(2); // System.out.println(dept.getDname()); //2.插入操作 Dept dept=new Dept(); dept.setDname("张沅湲"); dept.setLoc("郑州"); mapper.insertDept(dept); session.commit();//实现增加 修改 删除 //3.更新操作; // Dept dept=new Dept(); // dept.setDeptno(3); // dept.setDname("张沅湲"); // dept.setLoc("湖南"); // mapper.updateDept(dept); // session.commit(); //4.删除操作; // int i=mapper.deleteDept(3); // session.commit(); // System.out.println(i); } catch (Exception e) { e.printStackTrace(); }finally{ session.close(); } } }
复杂的查询,在项目开发中,可以使用一个工具类来封装这些复杂的步骤:
package org.mybatis.example.dao; import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class SqlSessionFactoryUtil { private static SqlSessionFactory factory; public SqlSessionFactoryUtil() {} static{ Reader reader=null; try { reader=Resources.getResourceAsReader("mybatisConfig.xml"); factory=new SqlSessionFactoryBuilder().build(reader); } catch (Exception e) { e.printStackTrace(); }finally{ try { if(reader!=null)reader.close(); } catch (Exception e2) { e2.printStackTrace(); } } } public static SqlSession getSqlSession(){ return factory.openSession(); } }
DeptMapper接口的完全代码:
package org.mybatis.example.dao; import java.util.List; public interface DeptMapper { public Dept selectOne(int id); public int insertDept(Dept dept); public int updateDept(Dept dept); public int deleteDept(int id); public ListselectAllDepts(); public ListselectByCriteria(String deptName); }
1.查询所有部门信息参考代码;
select deptno,dname,loc from dept
测试代码;
import java.util.List; import org.apache.ibatis.session.SqlSession; import org.mybatis.example.dao.Dept; import org.mybatis.example.dao.DeptMapper; import org.mybatis.example.dao.SqlSessionFactoryUtil; public class Test3 { public static void main(String[] args) { SqlSession session=SqlSessionFactoryUtil.getSqlSession(); try { DeptMapper mapper=session.getMapper(DeptMapper.class); Listdepts=mapper.selectAllDepts(); for(Dept dept:depts){ System.out.println("部门名称:"+dept.getDname()); } } catch (Exception e) { e.printStackTrace(); }finally{ session.close(); } } }
2.按条件查询,映射文件做以下修改,新增条件为模糊查询方法:
select deptno,dname,loc from dept where dname like '%${_parameter}%'
测试代码
import java.util.List; import org.apache.ibatis.session.SqlSession; import org.mybatis.example.dao.Dept; import org.mybatis.example.dao.DeptMapper; import org.mybatis.example.dao.SqlSessionFactoryUtil; //按照条件进行查询; public class Test4 { public static void main(String[] args) { SqlSession session=SqlSessionFactoryUtil.getSqlSession(); try { DeptMapper mapper=session.getMapper(DeptMapper.class); Listdepts=mapper.selectByCriteria("网络部"); for(Dept dept:depts){ System.out.println("部门名称:"+dept.getDname()); } } catch (Exception e) { e.printStackTrace(); }finally{ session.close(); } } }