日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

02_MyBatis项目结构,所需jar包,ehcache.xml配置,log4j.properties,sqlMapConfig.xml配置,SqlMapGenerator.xml配置

發布時間:2024/9/27 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 02_MyBatis项目结构,所需jar包,ehcache.xml配置,log4j.properties,sqlMapConfig.xml配置,SqlMapGenerator.xml配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  • 項目結構(所需jar包,配置文件)

  • sqlMapConfig.xml的配置內容如下:

  • <?xmlversion="1.0"encoding="UTF-8"?>

    <!DOCTYPEconfiguration

    PUBLIC"-//mybatis.org//DTD Config 3.0//EN"

    "http://mybatis.org/dtd/mybatis-3-config.dtd">

    <configuration>

    ???<!--開啟延遲加載 -->

    ???<settings>

    ??????<!--全局的延遲加載的開關必須要開啟 -->

    ??????<setting name="lazyLoadingEnabled" value="true"/>

    ??????<!--積極加載設置成false -->

    ??????<setting name="aggressiveLazyLoading" value="false"/>

    ??????<!--開啟二級緩存,緩存中只要是需要配置的針對的都是二級緩存?-->

    ??????<setting name="cacheEnabled" value="true"/>

    ???</settings>

    ???

    ???<typeAliases>

    ??????<!--

    ??????????自定義別名:

    ?????????????type:要定義別名的數據類型

    ?????????????alias:別名的內容

    ???????-->

    ???????<!--

    ?????????非自定義別名:

    ????????????jdk中的所用的類的別名直接只用類名即可(不區分大小寫)

    ????????????如果是基本數據類型的包裝類還可以使用基本數據類型的名字

    ???????-->

    ??????<typeAlias type="com.rl.model1.QueryCondition" alias="qc"/>

    ??????<typeAlias type="com.rl.model1.Person" alias="person"/>

    ???</typeAliases>

    ???

    ???<!--數據庫的環境的配置 -->

    ???<environments default="development">

    ??????<environment id="development">

    ??????????<transactionManager type="JDBC"/>

    ??????????<dataSource type="POOLED">

    ?????????????<property name="driver" value="com.mysql.jdbc.Driver"/>

    ?????????????<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>

    ?????????????<property name="username" value="root"/>

    ?????????????<property name="password" value="123456"/>

    ??????????</dataSource>

    ??????</environment>

    ???</environments>

    ???

    ???<!--集中管理表的映射文件 -->

    ???<mappers>

    ??????<mapperresource="com/rl/mapper/PersonTestMapper.xml"/>

    ??????<mapperresource="com/rl/mapper/PersonMapper.xml"/>

    ??????<mapperresource="com/rl/mapper/RoleMapper.xml"/>

    ??????<mapperresource="com/rl/mapper/OrdersMapper.xml"/>

    ??????<mapperresource="com/rl/mapper/OrderDetailMapper.xml"/>

    ???</mappers>

    </configuration>

  • sqlMapGenerator.xml的配置如下:

  • <?xmlversion="1.0"encoding="UTF-8"?>

    <!DOCTYPEgeneratorConfigurationPUBLIC"-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

    <generatorConfiguration>

    ???<!--指定mysql的驅動包的路徑,不要放在中文路徑下 -->

    ???<classPathEntrylocation="E:\MyEclipse10\MyBatis\lib\mysql-connector-java-5.0.8-bin.jar"/>

    ???<!--配置數據源和生成的代碼所存放的位置 -->

    ???<contextid="context1">

    ??????<commentGenerator>

    ??????????<!--去除自動生成的注釋 -->

    ??????????<propertyname="suppressAllComments"value="true"/>

    ??????</commentGenerator>

    ??????

    ??????<jdbcConnection

    ??????????driverClass="com.mysql.jdbc.Driver"

    ??????????connectionURL="jdbc:mysql://127.0.0.1:3306/mybatis"

    ??????????userId="root"

    ??????????password="123456"/>

    ??????<!--所生成的實體類的位置默認資源包src -->

    ??????<javaModelGeneratortargetPackage="com.rl.model1"

    ??????????targetProject="mybatis0420"/>

    ??????<!--所生成的sqlMap的影射文件的位置,默認資源包src -->

    ??????<sqlMapGeneratortargetPackage="com.rl.mapper"

    ??????????targetProject="mybatis0420"/>

    ?

    ??????<!--為哪些表生成代碼 tableName:表名 schema:不用填寫,其余屬性是禁用例子查詢的生成 -->

    ??????<tableschema=""tableName="role"enableCountByExample="false"

    ??????????enableUpdateByExample="false"enableDeleteByExample="false"

    ??????????enableSelectByExample="false"selectByExampleQueryId="false"/>

    ??????????

    ??????<tableschema=""tableName="person_role"enableCountByExample="false"

    ??????????enableUpdateByExample="false"enableDeleteByExample="false"

    ??????????enableSelectByExample="false"selectByExampleQueryId="false"/>

    ???</context>

    </generatorConfiguration>

  • log4j.properties的配置內容如下:

  • log4j.rootLogger=DEBUG,Console

    #Console

    log4j.appender.Console=org.apache.log4j.ConsoleAppender

    log4j.appender.Console.layout=org.apache.log4j.PatternLayout

    log4j.appender.Console.layout.ConversionPattern=%d[%t]%-5p[%c]-%m%n

    log4j.logger.java.sql.ResultSet=INFO

    log4j.logger.org.apache=INFO

    log4j.logger.java.sql.Connection=DEBUG

    log4j.logger.java.sql.Statement=DEBUG

    log4j.logger.java.sql.PreparedStatement=DEBUG

  • ehcache.xml的配置內容如下:

  • <ehcachexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="../config/ehcache.xsd">

    ?

    ???<diskStorepath="java.io.tmpdir"/>

    ???<defaultCache

    ???????????maxElementsInMemory="10000"

    ???????????eternal="false"

    ???????????timeToIdleSeconds="120"

    ???????????timeToLiveSeconds="120"

    ???????????maxElementsOnDisk="10000000"

    ???????????diskExpiryThreadIntervalSeconds="120"

    ???????????memoryStoreEvictionPolicy="LRU">

    ???????<persistencestrategy="localTempSwap"/>

    ???</defaultCache>

    </ehcache>

    ?4? 數據庫表

    創建數據庫:create databasemybatis; use mybatis;

    訂單.sql

    /*==============================================================*/

    /* DBMS name:?????MySQL 5.0???????????????????????????????????*/

    /* Created on:????2014/8/7 15:34:20???????????????????????????*/

    /*==============================================================*/

    ?

    drop table if exists ORDERS;

    ?

    drop table if exists ORDER_DETAIL;

    ?

    /*==============================================================*/

    /* Table: ORDERS???????????????????????????????????????????????*/

    /*==============================================================*/

    create table ORDERS

    (

    ??ORDER_ID????????????int(10) not null auto_increment,

    ??PERSON_ID???????????int(10),

    ??TOTAL_PRICE?????????float(10,2),

    ??ADDR????????????????varchar(50),

    ??primary key (ORDER_ID)

    );

    ?

    /*==============================================================*/

    /* Table: ORDER_DETAIL?????????????????????????????????????????*/

    /*==============================================================*/

    create table ORDER_DETAIL

    (

    ??DETAIL_ID???????????int(10) not null auto_increment,

    ??ORDER_ID????????????int(10),

    ??PRICE???????????????float(10,2),

    ??QUANTITY????????????int(10),

    ??ITEM_NAME???????????varchar(10),

    ??primary key (DETAIL_ID)

    );

    角色表.sql

    /*==============================================================*/

    /* DBMS name:?????MySQL 5.0???????????????????????????????????*/

    /* Created on:????2014/8/7 16:28:01???????????????????????????*/

    /*==============================================================*/

    ?

    ?

    drop table if exists PERSON_ROLE;

    ?

    drop table if exists ROLE;

    ?

    /*==============================================================*/

    /* Table: PERSON_ROLE??????????????????????????????????????????*/

    /*==============================================================*/

    create table PERSON_ROLE

    (

    ??PERSON_ID???????????int(10),

    ??ROLE_ID?????????????int(10)

    );

    ?

    /*==============================================================*/

    /* Table: ROLE?????????????????????????????????????????????????*/

    /*==============================================================*/

    create table ROLE

    (

    ??ROLE_ID?????????????int(10) not null auto_increment,

    ??ROLE_NAME???????????varchar(10),

    ??DESCRIPT????????????varchar(50),

    ??primary key (ROLE_ID)

    );

    人員表.sql

    /*==============================================================*/

    /* DBMS name:?????MySQL 5.0???????????????????????????????????*/

    /* Created on:????2014/8/7 9:59:18????????????????????????????*/

    /*==============================================================*/

    ?

    ?

    drop table if exists PERSON;

    ?

    /*==============================================================*/

    /* Table: PERSON???????????????????????????????????????????????*/

    /*==============================================================*/

    create table PERSON

    (

    ??PERSON_ID???????????int(10) not null auto_increment,

    ??NAME????????????????varchar(10),

    ??GENDER??????????????varchar(1),

    ??PERSON_ADDR?????????varchar(50),

    ??BIRTHDAY????????????date,

    ??primary key (PERSON_ID)

    );

    人員測試表.sql

    /*==============================================================*/

    /* DBMS name:?????MySQL 5.0???????????????????????????????????*/

    /* Created on:????2014/8/7 9:15:56????????????????????????????*/

    /*==============================================================*/

    ?

    ?

    drop table if exists PERSON_TEST;

    ?

    /*==============================================================*/

    /* Table: PERSON_TEST??????????????????????????????????????????*/

    /*==============================================================*/

    create table PERSON_TEST

    (

    ??ID??????????????????int(10) not null auto_increment,

    ??NAME????????????????varchar(10),

    ??GENDER??????????????varchar(1),

    ??ADDRESS?????????????varchar(50),

    ??BIRTHDAY????????????date,

    ??primary key (ID)

    );

    7JavaBean的編寫

    Person.java

    package com.rl.model;

    ?

    import java.util.Date;

    publicclass Person implements Serializable{

    ???private Integerid;

    ???private Stringname;

    ???private Stringgender;

    ???private Stringaddress;

    ???private Datebirthday;

    ???

    ???public Integer getId() {

    ??????returnid;

    ???}

    ?

    ???publicvoid setId(Integer id) {

    ??????this.id = id;

    ???}

    ?

    ???public String getName() {

    ??????returnname;

    ???}

    ?

    ???publicvoid setName(String name) {

    ??????this.name = name;

    ???}

    ?

    ???public String getGender() {

    ??????returngender;

    ???}

    ?

    ???publicvoid setGender(String gender) {

    ??????this.gender = gender;

    ???}

    ?

    ???public String getAddress() {

    ??????returnaddress;

    ???}

    ?

    ???publicvoid setAddress(String address) {

    ??????this.address = address;

    ???}

    ?

    ???public DategetBirthday() {

    ??????returnbirthday;

    ???}

    ?

    ???publicvoid setBirthday(Date birthday) {

    ??????this.birthday = birthday;

    ???}

    ?

    ???@Override

    ???public String toString() {

    ??????return"Person [id=" +id +", name=" +name +", gender=" +gender

    ?????????????+", address=" +address +", birthday=" +birthday +"]";

    ???}

    }

    OrderDetail.java

    package com.rl.model1;

    ?

    publicclass OrderDetail {

    ???private IntegerdetailId;

    ???private IntegerorderId;

    ???private Floatprice;

    ???private Integerquantity;

    ???private StringitemName;

    ?

    ???public Integer getDetailId() {

    ???????returndetailId;

    ???}

    ?

    ???publicvoid setDetailId(Integer detailId) {

    ???????this.detailId = detailId;

    ???}

    ?

    ???public Integer getOrderId() {

    ???????returnorderId;

    ???}

    ?

    ???publicvoid setOrderId(Integer orderId) {

    ???????this.orderId = orderId;

    ???}

    ?

    ???public Float getPrice() {

    ???????returnprice;

    ???}

    ?

    ???publicvoid setPrice(Float price) {

    ???????this.price = price;

    ???}

    ?

    ???public Integer getQuantity() {

    ???????returnquantity;

    ???}

    ?

    ???publicvoid setQuantity(Integer quantity) {

    ???????this.quantity = quantity;

    ???}

    ?

    ???public String getItemName() {

    ???????returnitemName;

    ???}

    ?

    ???publicvoid setItemName(String itemName) {

    ???????this.itemName = itemName;

    ???}

    }

    Orders.java

    package com.rl.model1;

    ?

    import java.util.List;

    publicclass Orders {

    ???private IntegerorderId;

    ???private IntegerpersonId;

    ???private FloattotalPrice;

    ???private Stringaddr;

    ???private List<OrderDetail>detailList;

    ???private Personperson;

    ???

    ???public Person getPerson() {

    ??????returnperson;

    ???}

    ?

    ???publicvoid setPerson(Person person) {

    ??????this.person = person;

    ???}

    ?

    ???public List<OrderDetail> getDetailList() {

    ??????returndetailList;

    ???}

    ?

    ???publicvoid setDetailList(List<OrderDetail> detailList) {

    ??????this.detailList = detailList;

    ???}

    ?

    ???public Integer getOrderId() {

    ???????returnorderId;

    ???}

    ?

    ???publicvoid setOrderId(Integer orderId) {

    ???????this.orderId = orderId;

    ???}

    ?

    ???public Integer getPersonId() {

    ???????returnpersonId;

    ???}

    ?

    ???publicvoid setPersonId(Integer personId) {

    ???????this.personId = personId;

    ???}

    ?

    ???public Float getTotalPrice() {

    ???????returntotalPrice;

    ???}

    ?

    ???publicvoid setTotalPrice(Float totalPrice) {

    ???????this.totalPrice = totalPrice;

    ???}

    ?

    ???public String getAddr() {

    ???????returnaddr;

    ???}

    ?

    ???publicvoid setAddr(String addr) {

    ???????this.addr = addr;

    ???}

    }

    Person.java

    package com.rl.model1;

    ?

    import java.io.Serializable;

    import java.util.Date;

    import java.util.List;

    ?

    import javax.management.relation.Role;

    ?

    /**

    ?*做二級緩存的時候需要實現Serializable

    ?*/

    public class Person implements Serializable {

    ????????private static final long serialVersionUID = 7728191033619971201L;

    ????????private Integer personId;

    ????????private String name;

    ????????private String gender;

    ????????private String personAddr;?????

    ????????private Date birthday;????

    ????????private List<Orders> ordersList;????

    ????????private List<Role> roleList;

    ????????

    ????????public List<Role> getRoleList() {

    ??????????????????return roleList;

    ????????}

    ?

    ????????public void setRoleList(List<Role> roleList) {

    ??????????????????this.roleList = roleList;

    ????????}

    ?

    ????????public List<Orders> getOrdersList() {

    ??????????????????return ordersList;

    ????????}

    ?

    ????????public void setOrdersList(List<Orders> ordersList) {

    ??????????????????this.ordersList = ordersList;

    ????????}

    ?

    ????????public Integer getPersonId() {

    ??????????????????return personId;

    ????????}

    ?

    ????????public void setPersonId(Integer personId) {

    ??????????????????this.personId = personId;

    ????????}

    ?

    ????????public String getName() {

    ??????????????????return name;

    ????????}

    ?

    ????????public void setName(String name) {

    ??????????????????this.name = name;

    ????????}

    ?

    ????????public String getGender() {

    ??????????????????return gender;

    ????????}

    ?

    ????????public void setGender(String gender) {

    ??????????????????this.gender = gender;

    ????????}

    ?

    ????????public String getPersonAddr() {

    ??????????????????return personAddr;

    ????????}

    ?

    ????????public void setPersonAddr(String personAddr) {

    ??????????????????this.personAddr = personAddr;

    ????????}

    ?

    ????????public Date getBirthday() {

    ??????????????????return birthday;

    ????????}

    ?

    ????????public void setBirthday(Date birthday) {

    ??????????????????this.birthday = birthday;

    ????????}

    ?

    ????????@Override

    ????????public String toString() {

    ??????????????????return "Person [personId=" + personId + ", name=" + name + ", gender="

    ????????????????????????????????????+ gender + ", personAddr=" + personAddr + ", birthday="

    ????????????????????????????????????+ birthday + "]";

    ????????}

    }

    PersonRole.java

    package com.rl.model1;

    ?

    publicclassPersonRole {

    ???private IntegerpersonId;

    ?

    ???private IntegerroleId;

    ?

    ???public Integer getPersonId() {

    ???????returnpersonId;

    ???}

    ?

    ???publicvoid setPersonId(Integer personId) {

    ???????this.personId = personId;

    ???}

    ?

    ???public Integer getRoleId() {

    ???????returnroleId;

    ???}

    ?

    ???publicvoid setRoleId(Integer roleId) {

    ???????this.roleId = roleId;

    ???}

    }

    QueryCondition.java

    package com.rl.model1;

    ?

    import java.util.Date;

    ?

    publicclassQueryCondition {

    ??private Stringname;

    ??private Stringgender;

    ??private Datebirthday;

    ??

    ??public String getName() {

    ?????returnname;

    ??}

    ?

    ??publicvoid setName(String name) {

    ?????this.name = name;

    ??}

    ?

    ??public String getGender() {

    ?????returngender;

    ??}

    ?

    ??publicvoid setGender(String gender) {

    ?????this.gender = gender;

    ??}

    ?

    ??public Date getBirthday() {

    ?????returnbirthday;

    ??}

    ?

    ??publicvoid setBirthday(Date birthday) {

    ?????this.birthday = birthday;

    ??}

    }

    Role.java

    package com.rl.model1;

    ?

    import java.util.List;

    ?

    publicclass Role {

    ???private IntegerroleId;

    ???private StringroleName;

    ???private Stringdescript;

    ???private List<Person>personList;

    ???

    ???public List<Person> getPersonList() {

    ?????returnpersonList;

    ??}

    ?

    ??publicvoid setPersonList(List<Person> personList) {

    ?????this.personList = personList;

    ??}

    ?

    ??public Integer getRoleId() {

    ???????returnroleId;

    ???}

    ?

    ???publicvoid setRoleId(Integer roleId) {

    ???????this.roleId = roleId;

    ???}

    ?

    ???public String getRoleName() {

    ???????returnroleName;

    ???}

    ?

    ???publicvoid setRoleName(String roleName) {

    ???????this.roleName = roleName;

    ???}

    ?

    ???public String getDescript() {

    ???????returndescript;

    ???}

    ?

    ???publicvoid setDescript(String descript) {

    ???????this.descript = descript;

    ???}

    }

    SqlHelper.java

    package com.rl.util;

    ?

    import java.util.Date;

    import java.util.Map;

    ?

    import org.apache.ibatis.jdbc.SqlBuilder;

    ?

    public class SqlHelper {

    ????????

    ????????public String getSql(Map<String,Object> map) {

    ??????????????????//獲得所有可能傳遞過來的參數

    ??????????????????String name = (String) map.get("name");

    ??????????????????String gender = (String) map.get("gender");

    ??????????????????String personAddr = (String) map.get("personAddr");

    ??????????????????Date birthday = (Date) map.get("birthday");

    ??????????????????

    ??????????????????SqlBuilder.BEGIN();

    ??????????????????//指定所有的列

    ??????????????????SqlBuilder.SELECT("*");

    ??????????????????SqlBuilder.FROM("person");

    ??????????????????if(name != null){

    ???????????????????????????//SqlBuilder中不支持${}

    ???????????????????????????SqlBuilder.WHERE("name like '%"+name+"%'");

    ??????????????????}

    ??????????????????if(gender != null){

    ???????????????????????????SqlBuilder.WHERE("gender = #{gender}");

    ??????????????????}

    ??????????????????if(personAddr != null){

    ???????????????????????????//SqlBuilder中不支持${}

    ???????????????????????????SqlBuilder.WHERE("person_addr like '%"+personAddr+"%'");

    ????????????????}

    ??????????????????if(birthday != null){

    ???????????????????????????SqlBuilder.WHERE("birthday < #{birthday}");

    ??????????????????}

    ??????????????????

    ??????????????????return SqlBuilder.SQL();

    ????????}

    }

    ?

     

    總結

    以上是生活随笔為你收集整理的02_MyBatis项目结构,所需jar包,ehcache.xml配置,log4j.properties,sqlMapConfig.xml配置,SqlMapGenerator.xml配置的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。