MyBatis.3.CRUD

訂閱博主java

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="org.mybatis.example.dao.DeptMapper">	<select id="selectOne" parameterType="int"		resultType="org.mybatis.example.dao.Dept">			select * from dept where deptno=#{id}	</select>	<insert id="insertDept" parameterType="org.mybatis.example.dao.Dept"	useGeneratedKeys="true" keyProperty="dept">		insert into dept(dname,loc)		values(			#{dname,jdbcType=VARCHAR},			#{loc,jdbcType=VARCHAR})	</insert> 	<update id="updateDept" parameterType="org.mybatis.example.dao.Dept">		update dept set dname=#{dname},loc=#{loc}					where deptno=#{deptno}	</update>	<delete id="deleteDept" parameterType="java.lang.Integer">		delete from dept where deptno=#{id}	</delete></mapper>

JAVA就業套餐課:https://edu.csdn.net/combo/detail/1230sql

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();		}			}}

複雜的查詢,在項目開發中,能夠使用一個工具類來封裝這些複雜的步驟:apache

 

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 List<Dept>selectAllDepts();	public List<Dept>selectByCriteria(String deptName);}

1.查詢全部部門信息參考代碼;session

 

 

<select id="selectAllDepts" resultType="org.mybatis.example.dao.Dept" >		select deptno,dname,loc from dept	</select>


測試代碼;mybatis

 

 

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);			List<Dept>depts=mapper.selectAllDepts();			for(Dept dept:depts){				System.out.println("部門名稱:"+dept.getDname());			}		} catch (Exception e) {			e.printStackTrace();		}finally{			session.close();		}	}}


2.按條件查詢,映射文件作如下修改,新增條件爲模糊查詢方法:app

 

 

<!-- 按條件查詢 -->	<select id="selectByCriteria" parameterType="java.lang.String"		resultType="org.mybatis.example.dao.Dept">		select deptno,dname,loc from dept		where dname like '%${_parameter}%'		</select>


測試代碼ide

 

 

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);			List<Dept>depts=mapper.selectByCriteria("網絡部");						for(Dept dept:depts){				System.out.println("部門名稱:"+dept.getDname());			}		} catch (Exception e) {			e.printStackTrace();		}finally{			session.close();		}	}}
相關文章
相關標籤/搜索