mybatis自带常用操作数据库方法详解以及如何搭建简单的mybatis环境

mybatis自带常用操作数据库方法详解以及如何搭建简单的mybatis环境

首先我们介绍一下mybatis中一些自带常用的方法,后面我们介绍如何搭建mybatis环境

 

 

① selectByPrimaryKey()

User user = userDAO.selectByPrimaryKey(100); 相当于select * from user where id = 100

 

② selectByExample() 和 selectByExampleWithBLOGs()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("joe");
criteria.andUsernameIsNull();
example.setOrderByClause("username asc,email desc");
List<?>list = userDAO.selectByExample(example);
相当于:select * from user where username = 'joe' and username is null order by username asc,email desc

注:在iBator 生成的文件UserExample.java中包含一个static 的内部类 Criteria ,在Criteria中有很多方法,主要是定义SQL 语句where后的查询条件。

 

③ insert()

User user = new User();
user.setId(101);
user.setUsername("test");
user.setPassword("123")
user.setEmail("");
userDAO.insert(user);
相当于:insert into user(ID,username,password,email) values(101,'test','123','');

 

④ updateByPrimaryKey() 和 updateByPrimaryKeySelective()

User user =new User();
user.setId(101);
user.setUsername("joe");
user.setPassword("joe");
user.setEmail("");
userDAO.updateByPrimaryKey(user);
相当于:update user set username='joe',password='joe',email='' where id=101

User user = new User();
user.setId(101);
user.setPassword("joe");
userDAO.updateByPrimaryKeySelective(user);
相当于:update user set password='joe' where id=101

 

updateByExample() 和 updateByExampleSelective()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("joe");
User user = new User();
user.setPassword("123");
userDAO.updateByPrimaryKeySelective(user,example);
相当于:update user set password='123' where username='joe'

 

deleteByPrimaryKey()

userDAO.deleteByPrimaryKey(101); 相当于:delete from user where id=101

 

⑦ deleteByExample()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("joe");
userDAO.deleteByExample(example);
相当于:delete from user where username='joe'

 

⑧ countByExample()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("joe");
int count = userDAO.countByExample(example);
相当于:select count(*) from user where username='joe'

 

 

.......................................................我是分割线,下面就是如何搭建项目................................................................

 

1,第一步你应该建立好自己的数据库

CREATE DATABASE /*!32312 IF NOT EXISTS*/`myproject` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin */;

USE `myproject`;

 

CREATE TABLE `role` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  `detail` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

 

CREATE TABLE `sysuser` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '用户名',
  `password` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '密码',
  `name` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '姓名',
  `detail` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '备注',
  `roleId` bigint(20) DEFAULT NULL COMMENT '角色ID',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

 

2,在myeclipse中建立好项目,MySSIProject。

 

3,导入所需基础jar包

      log4j-1.2.16.jar    #mybatis的日志是基于log4j的

      mybatis-3.0.6.jar    #mybatis核心包,肯定少不了,我是用的版本是3

      mybatis-generator-core-1.3.1.jar    #mybatis自动生成文件的包,如果需要自动生成文件则导入

      mysql-connector-java-5.1.6-bin.jar    #mysql数据库连接工具(本人使用的是mysql数据库)

 

4,在工程建立包结构,后面自动生成代码需要指定生成在什么位置

 

     

 

      

  5,在MySSIProject项目根目录下新建generatorConfig.xml文件,用来实现自动生成mybatis配置文件,内容如下

 

    

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
  PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
  "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">


<generatorConfiguration>
  <!-- 数据库驱动  指定mysql链接jar包位置 -->
  <classPathEntry location="D:/workspace/MySSIProject/WebRoot/WEB-INF/lib/mysql-connector-java-5.1.6-bin.jar" />
 <context id="MyBatis3" targetRuntime="MyBatis3"> 
  <commentGenerator>  
            <property name="suppressDate" value="true" />  
        </commentGenerator> 

    <!-- 数据库配置  地址  用户名 密码 -->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
        connectionURL="jdbc:mysql://localhost:3306/myproject"
        userId="root"
        password="root">
    </jdbcConnection>


    <!-- model配置   指定那个包存放数据库实体类  targetProject为项目src文件在硬盘实际路径 -->
    <javaModelGenerator targetPackage="com.itcast.database.model" targetProject="D:/workspace/MySSIProject/src">
      <property name="enableSubPackages" value="true" />
      <property name="trimStrings" value="true" />
    </javaModelGenerator>


    <!-- dao配置  指定那个包存放数据库操作文件-->
    <sqlMapGenerator targetPackage="com.itcast.database.dao"  targetProject="D:/workspace/MySSIProject/src">
      <property name="enableSubPackages" value="true" />
    </sqlMapGenerator>


    <javaClientGenerator type="XMLMAPPER" targetPackage="com.itcast.database.dao"  targetProject="D:/workspace/MySSIProject/src">
      <property name="enableSubPackages" value="true" />
    </javaClientGenerator>
    

     <!-- 指定需要自动生成文件的表   tableName为表名  domainObjectName为系统生成后名字 -->
    <table tableName="sysuser" domainObjectName="sysuser"></table>
    <table tableName="role" domainObjectName="role"></table> 
    
    </context>
</generatorConfiguration>

 

说明:以上location,targetProject路径均为所需文件所在硬盘具体实际位置,

 

6.打开cmd窗口,进入你项目的根目录 比如我就是进入:D:\workspace\MySSIProject>  因为的的项目在这个位置。(当然你也可以不这么做,我的目的是找到generatorConfig.xml配置文件,毕竟他就在这里,你在别的位置只要后面指定generatorConfig.xml时把路径写对就好),然后输入:java -jar WebRoot/WEB-INF/lib/mybatis-generator-core-1.3.1.jar   -configfile   generatorConfig.xml  -overwrite (这是一行命令),回车执行,见到MyBatis Generator finshed successfully.你就可以去项目看你的杰作了。好运

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值