mybatis串連mysql資料庫實現的jdbc功能

來源:互聯網
上載者:User

標籤:

最近公司項目要使用myBatis,自己以前沒有接觸過,就在網上找到了一些資料研究了些。初步做出了基於myBatis串連mysql資料庫的jdbc實現的功能。

employee.java

package com.org.position.model;public class employee {private int     employeeId;// 員工idprivate String  employeeName; //員工姓名private String  employeeSax; //員工性別private String  employeePost; //員工職務private String  employeeDepartment; //員工所在部門public int getEmployeeId() {return employeeId;}public void setEmployeeId(int employeeId) {this.employeeId = employeeId;}public String getEmployeeName() {return employeeName;}public void setEmployeeName(String employeeName) {this.employeeName = employeeName;}public String getEmployeeSax() {return employeeSax;}public void setEmployeeSax(String employeeSax) {this.employeeSax = employeeSax;}public String getEmployeePost() {return employeePost;}public void setEmployeePost(String employeePost) {this.employeePost = employeePost;}public String getEmployeeDepartment() {return employeeDepartment;}public void setEmployeeDepartment(String employeeDepartment) {this.employeeDepartment = employeeDepartment;}}

 employeeDao.java

package com.org.position.dao;import java.util.List;import com.org.position.model.employee;public interface employeeDao {   public int countAll();   public employee findEnterprise(int employeeId);   public int insertEnterprise(employee emp);   public int deleteEnterprise(int employeeId);   public List<employee> getAllEnterprise();   public int updateEnterprise(employee emp );   public List<employee> findEnterpriseByExampleIf(employee emp);   }

employeeDaoimpal.java

package com.org.position.dao.impal;import java.io.IOException;import java.io.Reader;import java.util.List;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.org.position.dao.employeeDao;import com.org.position.model.employee;public class employeeDaoimpal implements employeeDao {@Overridepublic int countAll() {String resource="mybaits-config.xml";Reader reader=null;SqlSessionFactory  ssf=null;SqlSession session=null;int iCount=0;try {reader= Resources.getResourceAsReader(resource);SqlSessionFactoryBuilder builder =new SqlSessionFactoryBuilder();ssf=builder.build(reader);session=ssf.openSession();iCount=session.selectOne("com.org.position.dao.employeeDao.countAll");} catch (IOException e) {e.printStackTrace();}finally{session.close();}return iCount;}@Overridepublic employee findEnterprise(int employeeId) {String resource="mybaits-config.xml";Reader reader=null;SqlSessionFactory  ssf=null;SqlSession session=null;employee  emp=null;try {reader = Resources.getResourceAsReader(resource);SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();ssf = builder.build(reader);session=ssf.openSession();employeeDao empdao=session.getMapper(employeeDao.class);emp=empdao.findEnterprise(employeeId);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{session.close();}return emp;}@Overridepublic int insertEnterprise(employee emp) {String resource="mybaits-config.xml";Reader reader=null;SqlSessionFactory  ssf=null;SqlSession session=null;int count=0;try {reader = Resources.getResourceAsReader(resource);SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();ssf = builder.build(reader);session=ssf.openSession();count=session.insert("com.org.position.dao.employeeDao.insertEnterprise",emp);session.commit();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{session.close();}return count;}@Overridepublic int deleteEnterprise(int employeeId) {String resource="mybaits-config.xml";Reader reader = null;SqlSessionFactory ssf=null;SqlSession session=null;int iCount = 0;try {reader = Resources.getResourceAsReader(resource);SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();ssf = builder.build(reader);session=ssf.openSession();iCount=session.delete("com.org.position.dao.employeeDao.deleteEnterprise", employeeId);session.commit();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{session.close();}return iCount;}@Overridepublic List<employee> getAllEnterprise() {String resource="mybaits-config.xml";Reader reader = null;SqlSessionFactory ssf=null;SqlSession session=null;List<employee> emps = null;try {reader = Resources.getResourceAsReader(resource);SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();ssf = builder.build(reader);session=ssf.openSession();emps=session.selectList("com.org.position.dao.employeeDao.getAllEnterprise");} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{session.close();}return emps;}@Overridepublic int updateEnterprise(employee emp) {String resource="mybaits-config.xml";Reader reader = null;SqlSessionFactory ssf=null;SqlSession session=null;int iCount = 0;try {reader = Resources.getResourceAsReader(resource);SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();ssf = builder.build(reader);session=ssf.openSession();iCount=session.delete("com.org.position.dao.employeeDao.updateEnterprise",emp);session.commit();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{session.close();}return iCount;}@Overridepublic List<employee> findEnterpriseByExampleIf(employee emp) {String resource="mybatis-config.xml";Reader reader = null;SqlSessionFactory ssf=null;SqlSession session=null;List<employee> emps = null;try {reader = Resources.getResourceAsReader(resource);SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();ssf = builder.build(reader);session=ssf.openSession();emps=session.selectList("com.org.position.dao.employeeDao.findEnterpriseByExampleIf",emp);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{session.close();}return emps;}}

 employeeDaoMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>   <!DOCTYPE mapper   PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"  "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd"> <mapper  namespace="com.org.position.dao.employeeDao">  <resultMap type="com.org.position.model.employee" id="empResultMap">    <id property="employeeId" column="employeeId"/>    <result property="employeeName" column="employeeName" />    <result property="employeeSax" column="employeeSax"/>    <result property="employeePost" column="employeePost"/>     <result property="employeeDepartment" column="employeeDepartment"/>  </resultMap>   <select id="findEnterpriseByExampleIf" parameterType="com.org.position.model.employee"  resultMap="empResultMap">      select * from employee where 1=1     <if test="employeed !=null">         and employeeId=#{employeeId}     </if>       <if test="employeename!=null">         and employeeName=#{employeeName}       </if>        <if test="employeesax! =null">         and employeeSax=#{employeeSax}        </if>        <if test="employeepost!=null">         and employeePost=#{employeePost}        </if>        <if test="employeedepartment! =null">         and  employeeDepartment=#{employeeDepartment}        </if>   </select>    <select id="countAll"  resultType="int">       select count(*) from t_employee   </select>  <!--   根據id查詢對應的資料資訊 -->   <select id="findEnterprise" parameterType="int" resultType="com.org.position.model.employee">     select * from t_employee where employeeId=#{employeeId}   </select>    <!--    查詢所有 資料 -->   <select id="getAllEnterprise" resultType="com.org.position.model.employee">      select * from t_employee   </select>        <!-- 添加資料資訊 -->   <insert id="insertEnterprise" parameterType="com.org.position.model.employee">        insert into  t_employee(employeeId,employeeName,employeeSax,employeePost,employeeDepartment)         values (#{employeeId},#{employeeName},#{employeeSax},#{employeePost},#{employeeDepartment})   </insert>         <!-- 更新資料資訊 -->   <update id="updateEnterprise" parameterType="com.org.position.model.employee">     update t_employee set employeeName=#{employeeName},employeeSax=#{employeeSax},employeePost=#{employeePost},employeeDepartment=#{employeeDepartment}     where employeeId=#{employeeId}   </update>    <!-- 刪除資料資訊 -->   <delete id="deleteEnterprise" parameterType="com.org.position.model.employee">    delete from t_employee where employeeId=#{employeeId}      </delete></mapper>

 mybaits-config.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>   <environments default="development">     <environment id="development">     <transactionManager type="JDBC"></transactionManager>     <dataSource type="POOLED">     <property name="driver" value="com.mysql.jdbc.Driver"/>     <property name="url" value="jdbc:mysql://localhost:3306/test"/> <property name="username" value="root"/> <property name="password" value="mysql"/>     </dataSource>     </environment>   </environments>  <mappers>    <mapper resource="com/org/position/dao/employeeDaoMapper.xml"/>  </mappers></configuration>

 employeeTest.java

package com.org.position.test;import java.util.List;import com.org.position.dao.employeeDao;import com.org.position.dao.impal.employeeDaoimpal;import com.org.position.model.employee;public class employeeTest {public static void testAddEmp(){    employee emp=new employee();    employeeDao dao=new employeeDaoimpal();    emp.setEmployeeId(11);    emp.setEmployeeName("爽");    emp.setEmployeeSax("女");    emp.setEmployeePost("測試經理");    emp.setEmployeeDepartment("研發部");    int count =dao.insertEnterprise(emp);    if (count==1) {System.out.println("員工資訊錄入成功!");}else {System.out.println("員工資訊錄入失敗!");}            }    public static void testUpdateEmp(){    employee emp=new employee();    emp.setEmployeeId(1);    emp.setEmployeeName("雷浩明");    emp.setEmployeeSax("男");    emp.setEmployeePost("CEO");    emp.setEmployeeDepartment("總裁辦");    employeeDao dao=new employeeDaoimpal();    int count =dao.updateEnterprise(emp);    if (count==1) {System.out.println("員工資訊修改成功!");}else {System.out.println("員工資訊修改失敗!");}        }    public static void testSelectEmp(){        }    public static void testDeleteEmp(){    employeeDao dao =new employeeDaoimpal();int count = dao.deleteEnterprise(11);if(count == 1){System.out.println("員工資訊刪除成功");}else {System.out.println("員工資訊刪除失敗");}    }        public static void testGetCount(){    employeeDao dao =new employeeDaoimpal();System.out.println("共有"+dao.countAll()+"名員工");}        public static void testGetEmpById(){    employeeDao dao =new employeeDaoimpal();    employee emp=dao.findEnterprise(1);System.out.println("職務是:"+emp.getEmployeePost()+"  所在部門:"+emp.getEmployeeDepartment());}        public static void testGetAll(){    employeeDao dao =new employeeDaoimpal();List<employee> emps = dao.getAllEnterprise();System.out.println("西安涯創資訊技術有限公司員工明細");System.out.println("---------------------------");System.out.println("員工編號\t員工姓名\t員工職位\t所在部門");for (employee emp : emps) {System.out.println(emp.getEmployeeId()+"\t"+emp.getEmployeeName()+"\t"+emp.getEmployeePost()+"\t"+emp.getEmployeeDepartment());}}        public static void main(String[] args) {     //testAddEmp();     //testUpdateEmp();     //testDeleteEmp();     //testGetCount();     //testGetEmpById();       testGetAll();}    }

t_employee.sql

/*SQLyog Ultimate v8.32 MySQL - 5.0.27-community : Database - test**********************************************************************//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE=‘‘*/;/*!40014 SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;/*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;/*!40101 SET @[email protected]@SQL_MODE, SQL_MODE=‘NO_AUTO_VALUE_ON_ZERO‘ */;/*!40111 SET @[email protected]@SQL_NOTES, SQL_NOTES=0 */;CREATE DATABASE /*!32312 IF NOT EXISTS*/`test` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `test`;/*Table structure for table `t_employee` */DROP TABLE IF EXISTS `t_employee`;CREATE TABLE `t_employee` (  `employeeid` int(10) NOT NULL COMMENT ‘員工id‘,  `employeename` varchar(20) NOT NULL COMMENT ‘員工姓名‘,  `employeesax` varchar(20) default NULL COMMENT ‘員工性別‘,  `employeepost` varchar(30) NOT NULL COMMENT ‘員工職務‘,  `employeedepartment` varchar(30) NOT NULL default ‘‘ COMMENT ‘員工所在部門‘,  PRIMARY KEY  (`employeeid`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;/*Data for the table `t_employee` */insert  into `t_employee`(`employeeid`,`employeename`,`employeesax`,`employeepost`,`employeedepartment`) values (1,‘雷浩明‘,‘男‘,‘CEO‘,‘總裁辦‘),(2,‘劉軍‘,‘男‘,‘執行總裁‘,‘總裁辦‘),(3,‘李海濤‘,‘男‘,‘總經理‘,‘總經辦‘),(4,‘邊肖‘,‘男‘,‘CTO‘,‘技術部‘),(5,‘柳青‘,‘女‘,‘經理‘,‘經營管理部‘),(6,‘高曉梅‘,‘女‘,‘財務‘,‘財務部‘),(7,‘曹舜水‘,‘男‘,‘研發經理‘,‘研發部‘),(8,‘董華‘,‘男‘,‘專案經理‘,‘研發部‘),(9,‘張軍華‘,‘男‘,‘產品經理‘,‘產品部‘),(10,‘曾爽‘,‘女‘,‘測試經理‘,‘研發部‘);/*!40101 SET [email protected]_SQL_MODE */;/*!40014 SET [email protected]_FOREIGN_KEY_CHECKS */;/*!40014 SET [email protected]_UNIQUE_CHECKS */;/*!40111 SET [email protected]_SQL_NOTES */;

項目代碼結構:

項目需要的jar包:http://pan.baidu.com/s/1AWnPc。

mybatis串連mysql資料庫實現的jdbc功能

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.