mybatis简单案例源码详细【注释全面】——前期准备
mybatis 是個(gè)什么東西,這里就不必說(shuō)了,大家去網(wǎng)上搜搜看就行了,在這里我主要是分享一下最基本的增刪改查案例以及配置信息,測(cè)試信息。
首先我們創(chuàng)建個(gè)數(shù)據(jù)庫(kù):
/* SQLyog 企業(yè)版 - MySQL GUI v8.14 MySQL - 5.5.40 : Database - smbms ********************************************************************* *//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE=''*/;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; CREATE DATABASE /*!32312 IF NOT EXISTS*/`smbms` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */;USE `smbms`;DROP TABLE IF EXISTS `smbms_role`;CREATE TABLE `smbms_role` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵ID',`roleCode` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '角色編碼',`roleName` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '角色名稱(chēng)',`createdBy` bigint(20) DEFAULT NULL COMMENT '創(chuàng)建者',`creationDate` datetime DEFAULT NULL COMMENT '創(chuàng)建時(shí)間',`modifyBy` bigint(20) DEFAULT NULL COMMENT '修改者',`modifyDate` datetime DEFAULT NULL COMMENT '修改時(shí)間',PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;/*Data for the table `smbms_role` */insert into `smbms_role`(`id`,`roleCode`,`roleName`,`createdBy`,`creationDate`,`modifyBy`,`modifyDate`) values (1,'SMBMS_ADMIN','系統(tǒng)管理員',1,'2016-04-13 00:00:00',NULL,NULL),(2,'SMBMS_MANAGER','經(jīng)理',1,'2016-04-13 00:00:00',NULL,NULL),(3,'SMBMS_EMPLOYEE','普通員工',1,'2016-04-13 00:00:00',NULL,NULL);/*Table structure for table `smbms_user` */DROP TABLE IF EXISTS `smbms_user`;CREATE TABLE `smbms_user` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵ID',`userCode` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '用戶(hù)編碼',`userName` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '用戶(hù)名稱(chēng)',`userPassword` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '用戶(hù)密碼',`gender` int(10) DEFAULT NULL COMMENT '性別(1:女、 2:男)',`birthday` date DEFAULT NULL COMMENT '出生日期',`phone` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '手機(jī)',`address` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '地址',`userRole` int(10) DEFAULT NULL COMMENT '用戶(hù)角色(取自角色表-角色id)',`createdBy` bigint(20) DEFAULT NULL COMMENT '創(chuàng)建者(userId)',`creationDate` datetime DEFAULT NULL COMMENT '創(chuàng)建時(shí)間',`modifyBy` bigint(20) DEFAULT NULL COMMENT '更新者(userId)',`modifyDate` datetime DEFAULT NULL COMMENT '更新時(shí)間',PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;/*Data for the table `smbms_user` */insert into `smbms_user`(`id`,`userCode`,`userName`,`userPassword`,`gender`,`birthday`,`phone`,`address`,`userRole`,`createdBy`,`creationDate`,`modifyBy`,`modifyDate`) values (1,'admin','系統(tǒng)管理員','1234567',1,'1983-10-10','13688889999','北京市海淀區(qū)成府路207號(hào)',1,1,'2013-03-21 16:52:07',NULL,NULL),(2,'liming','李明','0000000',2,'1983-12-10','13688884457','北京市東城區(qū)前門(mén)東大街9號(hào)',2,1,'0000-00-00 00:00:00',NULL,NULL),(5,'hanlubiao','韓路彪','0000000',2,'1984-06-05','18567542321','北京市朝陽(yáng)區(qū)北辰中心12號(hào)',2,1,'2014-12-31 19:52:09',NULL,NULL),(6,'zhanghua','張華','0000000',1,'1983-06-15','13544561111','北京市海淀區(qū)學(xué)院路61號(hào)',3,1,'2013-02-11 10:51:17',NULL,NULL),(7,'wangyang','王洋','0000000',2,'1982-12-31','13444561124','北京市海淀區(qū)西二旗輝煌國(guó)際16層',3,1,'2014-06-11 19:09:07',NULL,NULL),(8,'zhaoyan','趙燕','0000000',1,'1986-03-07','18098764545','北京市海淀區(qū)回龍觀小區(qū)10號(hào)樓',3,1,'2016-04-21 13:54:07',NULL,NULL),(10,'sunlei','孫磊','0000000',2,'1981-01-04','13387676765','北京市朝陽(yáng)區(qū)管莊新月小區(qū)12樓',3,1,'2015-05-06 10:52:07',NULL,NULL),(11,'sunxing','孫興','0000000',2,'1978-03-12','13367890900','北京市朝陽(yáng)區(qū)建國(guó)門(mén)南大街10號(hào)',3,1,'2016-11-09 16:51:17',NULL,NULL),(12,'zhangchen','張晨','0000000',1,'1986-03-28','18098765434','朝陽(yáng)區(qū)管莊路口北柏林愛(ài)樂(lè)三期13號(hào)樓',3,1,'2016-08-09 05:52:37',1,'2016-04-14 14:15:36'),(13,'dengchao','鄧超','0000000',2,'1981-11-04','13689674534','北京市海淀區(qū)北航家屬院10號(hào)樓',3,1,'2016-07-11 08:02:47',NULL,NULL),(14,'yangguo','楊過(guò)','0000000',2,'1980-01-01','13388886623','北京市朝陽(yáng)區(qū)北苑家園茉莉園20號(hào)樓',3,1,'2015-02-01 03:52:07',NULL,NULL),(15,'zhaomin','趙敏','0000000',1,'1987-12-04','18099897657','北京市昌平區(qū)天通苑3區(qū)12號(hào)樓',2,1,'2015-09-12 12:02:12',NULL,NULL);
數(shù)據(jù)庫(kù)我使用的是mysql,其他的數(shù)據(jù)庫(kù)也一樣。
然后我們?cè)趍yeclipse里面新建個(gè)項(xiàng)目,項(xiàng)目名稱(chēng)隨便寫(xiě),項(xiàng)目創(chuàng)建完成之后我們導(dǎo)入我們所需要的jar包,log4j-1.2.17.jar,mybatis-3.2.2.jar,mybatis-3.2.2-sources.jar,mysql-connector-java-5.1.0-bin.jar這四個(gè)就OK了,兩個(gè)mybatis的,一個(gè)日志的,一個(gè)mysql的。
我們這里所用的案例都是未使用實(shí)現(xiàn)接口的方法,大家先來(lái)看看項(xiàng)目路勁分配截圖:
? org.entity所對(duì)應(yīng)的是實(shí)體類(lèi),org.dao所對(duì)應(yīng)的是接口和映射文件,org.util所對(duì)應(yīng)的是MyabtisUtils,database.properties:數(shù)據(jù)庫(kù)連接配置,log4j.properties:日志的資源文件,mybatis-config.xml:mybatis的配置信息,org.test里面是我們的測(cè)試信息;
? ? ?其中database.properties:
driver=com.mysql.jdbc.Driver url=jdbc\:mysql\://localhost\:3306/smbms?useUnicode\=true&characterEncoding\=utf-8 user=root password=123
大家吧對(duì)應(yīng)的密碼改一下,
log4j.properties的代碼:
log4j.rootLogger=DEBUG,CONSOLE,file #log4j.rootLogger=ERROR,ROLLING_FILE log4j.logger.cn.smbms.dao=debug log4j.logger.com.ibatis=debug log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug log4j.logger.java.sql.Connection=debug log4j.logger.java.sql.Statement=debug log4j.logger.java.sql.PreparedStatement=debug log4j.logger.java.sql.ResultSet=debug log4j.logger.org.tuckey.web.filters.urlrewrite.UrlRewriteFilter=debug###################################################################################### # Console Appender \u65e5\u5fd7\u5728\u63a7\u5236\u8f93\u51fa\u914d\u7f6e ###################################################################################### log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.Threshold=error log4j.appender.CONSOLE.Target=System.out log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern= [%p] %d %c - %m%n###################################################################################### # DailyRolling File \u6bcf\u5929\u4ea7\u751f\u4e00\u4e2a\u65e5\u5fd7\u6587\u4ef6\uff0c\u6587\u4ef6\u540d\u683c\u5f0f:log2009-09-11 ###################################################################################### log4j.appender.file=org.apache.log4j.DailyRollingFileAppender log4j.appender.file.DatePattern=yyyy-MM-dd log4j.appender.file.File=log.log log4j.appender.file.Append=true log4j.appender.file.Threshold=error log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%nlog4j.logger.com.opensymphony.xwork2=error
mybatis-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"><!-- 通過(guò)這個(gè)配置文件完成mybatis與數(shù)據(jù)庫(kù)連接 --> <configuration><!-- 引入database.properties文件 --><!-- <properties resource="database.properties"></properties> --><!-- 配置文件配置數(shù)據(jù)庫(kù)信息 --><!-- <properties><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://127.0.0.1:3306/smbms"/><property name="user" value="root"/><property name="password" value="123"/></properties> --><!-- 配置文件配置數(shù)據(jù)庫(kù)信息 --><properties resource="database.properties"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://127.0.0.1:3306/smbms"/><property name="user" value="root"/><property name="password" value="123"/></properties><!-- 配置類(lèi)型別名 --><!-- <typeAliases><package name="org.entity"/></typeAliases> --><!-- 配置mybatis的log實(shí)現(xiàn)為L(zhǎng)OG4J --><settings><setting name="logImpl" value="LOG4J"/></settings><typeAliases><package name="org.entity"/></typeAliases><environments default="development"><environment id="development"><!-- 配置事務(wù)管理器,采用jdbc的事務(wù)管理 --><transactionManager type="JDBC"></transactionManager><!-- POOLED:mybatis自帶的數(shù)據(jù)源,JNDI:基于tomcat的數(shù)據(jù)源 --><dataSource type="POOLED"><property name="driver" value="${driver}"/><property name="url" value="${url}"/><property name="username" value="${user}"/><property name="password" value="${password}"/></dataSource></environment></environments><!-- 將mapper文件加入到配置文件中 --><mappers><mapper resource="org/dao/UserMapper.xml"/></mappers> </configuration>
實(shí)體類(lèi)源碼:
Users.java
Role.java
Dao層源碼:
UserMapper.java
UserMapper.xml
Util層的源碼:
MybatisUtils.java
測(cè)試類(lèi)的源碼:
UserMapperTest
不足之處歡迎留言
總結(jié)
以上是生活随笔為你收集整理的mybatis简单案例源码详细【注释全面】——前期准备的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 怎么查看显卡内存制造商?
- 下一篇: mybatis简单案例源码详细【注释全面