美文网首页
使用MyBatis Generator工具操作MySQL数据库示

使用MyBatis Generator工具操作MySQL数据库示

作者: 问瑾遗 | 来源:发表于2019-04-05 23:55 被阅读0次

    本例运行环境:jdk1.8,mysql8.0,mysql-connector-java-8.0.11.jar,mybatis-3.4.3
    注意版本控制,版本不同经常报错

    1.Help-》Eclipse MarketPlace下载安装MyBatis Generator插件,我这里的版本为1.3.7

    2.建表语句如下:

    DROP TABLE IF EXISTS `userinfo`;
    CREATE TABLE `userinfo` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `username` varchar(45) DEFAULT NULL,
      `password` varchar(45) DEFAULT NULL,
      `age` int(11) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    

    3.新建Java Project项目,项目名称为:MyBatis01

    4.添加jar包:mysql-connector-java-8.0.11.jar
    mybatis-3.4.3,我这里下载的Zip,解压后将里面所有jar包全都添加进来了。

    5.src目录下新建文件:generatorConfig.xml,


    内容如下:

    <?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>
      <context id="context1">
        <!--数据库驱动,数据库为test
        因为我使用的是mysql-connector-java-8.0.11.jar所以这里driverClass为com.mysql.cj.jdbc.Driver-->
        <jdbcConnection connectionURL="jdbc:mysql://localhost:3306/test?useSSL=false" driverClass="com.mysql.cj.jdbc.Driver" 
        password="123456" userId="root" />
        <!--javaBean类文件生成位置,同时生成的还有xxxExample.java文件-->
        <javaModelGenerator targetPackage="bean" targetProject="MyBatis01" />
        <!--xxxMapper.xml生成位置-->
        <sqlMapGenerator targetPackage="mapping" targetProject="MyBatis01" />
        <!--xxxMapper.java生成位置-->
        <javaClientGenerator targetPackage="mapping" targetProject="MyBatis01" type="XMLMAPPER" />
        
        <table schema="test" tableName="userinfo">
            <!--column为数据库中的字段名,property为与之对应的javabean文件的属性名-->
          <columnOverride column="id" property="id" />
        </table>
      </context>
    </generatorConfiguration>
    

    右键generatorConfig.xml文件,Run As-》Run MyBatis Generator生成相应文件;项目目录结构如下:


    关于xxxExample.java:mybatis中关于example类详解

    6.在src中创建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">
    <configuration>
        <environments default="development">
            <environment id="development">
                <!--事务管理配置-->
                <transactionManager type="JDBC"/>
                <!--数据源配置-->
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false"/>
                    <property name="username" value="root"/>
                    <property name="password" value="123456"/>
                </dataSource>
            </environment>
        </environments>
        <mappers>
            <!--这里的resource对应上一步自动生成的mapping/UserinfoMapper.xml文件-->
            <mapper resource="mapping/UserinfoMapper.xml"/>
        </mappers>
    </configuration>
    

    7.新建Test类测试,代码如下:

    package test;
    
    import java.io.IOException;
    import java.io.InputStream;
    
    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 bean.Userinfo;
    
    public class Test {
    
        public static void main(String[] args) {
            try {
                Userinfo userinfo=new Userinfo();
                userinfo.setUsername("usernameValue");
                userinfo.setPassword("passwordValue");
                userinfo.setAge(80);
                //读取mybatis-config.xml配置
                String resource="mybatis-config.xml";
                InputStream inputStream=Resources.getResourceAsStream(resource);
                //生成SqlSessionFactory
                SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
                //生成SqlSession
                SqlSession sqlSession=sqlSessionFactory.openSession();
                //执行插入操作,这里的第一个参数"insert"对应xxxMapper.xml文件中<insert>标签的id,
                //第二个参数userinfo对应xxxMapper.xml文件中<insert>标签的parameterType,
                //<insert id="insert" parameterType="bean.Userinfo">
                sqlSession.insert("insert",userinfo);
                //提交事务
                sqlSession.commit();
                //关闭会话
                sqlSession.close();
            } catch (IOException e) {
                // TODO: handle exception
                e.printStackTrace();
            }
        }
        
    }
    

    运行Test.java类后在userinfo数据表中可以看到新添加的记录。


    公司电脑环境只能离线按照:eclipse中mybatis generator插件的安装
    逆向工程中出现Exception getting JDBC Driver:重新导入一下mysql-connector-java-x.x.x-bin.jar驱动包

    相关文章

      网友评论

          本文标题:使用MyBatis Generator工具操作MySQL数据库示

          本文链接:https://www.haomeiwen.com/subject/auhliqtx.html