新建项目 av av + 我使用的是 我使用的是 项目 项目) ∎ mybatis-study-01
mybatis b mysql-connector 依赖包到 pom 文件
<project xmlns = "http://maven.apache.org/pom/4.0.0"xmlns : xsi = "http://www.w3.org/2001/xmlschema-instance"xsi : schemalocation = "http://maven.apache.org/pom/0.0.0.0 http://maven.apache.org/xsd/maven-4.0.xsd "> <modelversion> 4.0.0 </modelversion> <groupid> mybatis </groupid> <artifactid> mybatis-study-01 </artifactid> </artifactid> </artifactid> <name> mybatis-01 </name> <url> http://maven.apache.org </url> <properties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> </propertencies> <pectient> <groupid> junit> <Artifactid> junit </artifactid> <bersion> 4.10 </version> <copo> </scope> </scope> </fectionency> <groupid> org.mybatis </groupid> <artifactid> mybatis </artifactid> <3.2.3 </versionemency> <Groupl </groupid> mysql> mysql. <아티 팩트> mysql-connector-java </artifactid> <bersion> 5.1.27 </version> </fectionency> </fectencies> </project>
mybatis-test
新建一张 사용자 q SQL :
테이블`user` (`id` int (11) NOT NULL AUTO_INCREMENT,`Password` varchar (255) 기본 널,`user_name` varchar (50) 기본 널,`user_age` int (11) 기본 널,`user_address` varchar (200) default null, 1 차 키 (`id`),``username``)
插入一条数据
'사용자'값 ( '1', '123131', 'Summer', '100', 'Shanghai, Pudong'에 삽입;
三、在项目中编写 포조 o
package com.zf.mybatis.pojo; public class user {private int id; 개인 문자열 비밀번호; 개인 문자열 사용자 이름; 개인 문자열 userage; 개인 문자열 userAddress; public int getid () {return id; } public void setid (int id) {this.id = id; } public String getUserName () {return username; } public void setusername (String username) {this.username = username; } public String getUserage () {return userage; } public void setUserage (String userage) {this.userage = userage; } public String getUserAddress () {return userAddress; } public void setUserAddress (String userAddress) {this.userAddress = userAddress; } public String getPassword () {return password; } public void setpassword (문자열 비밀번호) {this.password = password; }}四、编写 pojo o user.xml
<? xml version = "1.0"alcoding = "utf-8"?> <! doctype mapper public "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <<<<<<<<<<<<<<<<<<< <<<<< <<< << <<< << << <auserer"> <!-q SQL 标签可以将公 쿨 的 的 SQL 提取出来复用-> <SQL ID = "QueryFields"> id, id, user_name, username, user_age, userAddress as user_address </sql> <select <select <select <queryfieldd "/in queryfieldds"/seplds "> id = #{id} </select> <insert id = "add add add id = "update"parametertype = "user"> update`사용자 set password = #{password}, user_name = #{username}, user_age = #{userage}, user_address = #{userAddress} id = #{id} </update> <delete id = "deletebyId"`int "wente wane wane wane wane where where where. #{id} </delete> </mapper>注意 : 上面的 네임 스페이스 的值为 com.zf.mybatis.pojo.usermapper ·, 可以自定义, usermapper 不是一个类, 不需要存在的。 不需要存在的。
另外, mybatis 会将从数据库查询出来的记录根据列名与 pojo 中的字段进行匹配 中的字段进行匹配, 所以上面的 user_name, user_age, user_address 这几个字段都取了别名 这几个字段都取了别名, 跟 pojo 中的字段相对应。 如果不起别名, 查询出来的对象, 这几个字段是没有值的。 这几个字段是没有值的。
mybatis b mybatis-config.xml
<? xml version = "1.0"alcoding = "utf-8"?> <! doctype configuration public "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd "> configuration> <! <typealias> <typealias> alias = "user"type = "com.zf.mybatis.pojo.user"/> </inflealiases> <! <!-> <환경 = "Development"> <환경 ID = "개발"> <TransactionManager type = "jdbc"/> <dataSource type = "POLSED"> value = "value" 이름 = "url"value = "jdbc : mysql : //127.0.0.1 : 3306/mybatis-test"/> <속성 이름 = "username"value = "root"/> <속성 이름 = "property name ="valess "value ="root "/> </> </> <mapper> <mappper> Resource = "conf/user.xml"/> </mappers> </configuration>
在该配置文件中配置了数据库的链接方式 在该配置文件中配置了数据库的链接方式, 以及注册所有的映射文件 以及注册所有的映射文件, 还可以设置 mybatis 的一些参数。
现在就可以编写测试类了。来测试一下。
package com.zf.mybatis; import java.io.ioexception; import java.io.reader; 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 org.junit.before; import org.junit.test; import com.zf.mybatis.pojo.user; public class testmybatis {private sqlsessionactory sqlsessionfactory; 개인 독자 독자; @public void init () {try {reader = resources.getResourceAsReader ( "myBatis-config.xml"); sqlsessionFactory = new SqlSessionFactoryBuilder (). 빌드 (Reader); } catch (ioexception e) {e.printstacktrace (); }} @test public void testQueryUser () {sqlsession session = sqlsessionFactory.Opensession (); try {user user = (user) session.selectone ( "com.zf.mybatis.pojo.usermapper.selectbyid", 1); System.out.println (user.getUserAddress ()); System.out.println (user.getusername ()); } 마침내 {session.close (); }} @Test public void testInstInsertUser () {sqlsession session = sqlsessionfactory.opensession (); try {user user = new user (); user.setusername ( "abcde"); user.setuserage (15); user.setuserAddress ( "hangzhou/zhejiang"); user.setpassword ( "123456"); // int resultCount = session.insert ( "com.zf.mybatis.pojo.usermapper.add", 사용자); 세션 .commit (); System.out.printf ( "userId :%d, 总记录条数 :%d", user.getId (), resultCount); // 获取插入对象的 id} 마침내 {session.close (); }} @test public void testupdateuser () {sqlsession session = sqlsessionfactory.opensession (); try {user user = new user (); user.setid (5); user.setusername ( "updateName"); user.setuserage (101); user.setuserAddress ( "Shenzhen/Guangdong"); user.setpassword ( "000000"); // int updateCount = session.update ( "com.zf.mybatis.pojo.usermapper.update", User); 세션 .commit (); System.out.printf ( "修改条数 :%d", updateCount); } 마침내 {session.close (); }} @test public void testDelete () {sqlsession session = sqlsessionFactory.Opensession (); try {// int deletecount = session.update ( "com.zf.mybatis.pojo.usermapper.deletebyid", 4); 세션 .commit (); System.out.printf ( "删除条数 :%d", deletecount); } 마침내 {session.close (); }}}运行 TestQueryUser 结果如下 :
상하이, Pudongsummer
到此 到此, 一个 mybatis 的 helloworld 类型的小程序就出来了。
PS : Mybaits my
Mybaits , ,, 节点的位置还有要求如下, 会报错 :
요소 유형 "configuration"은 일치해야한다 "(속성?, 설정?, formeAlias?, typeHandlers?, ObjectFactory?, ObjectWrapperFactory?, 플러그인?, 환경?, 맵퍼?)". <? xml version = "1.0"alcoding = "utf-8"?> <! doctype configuration public "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd"> configuration> <환경 ""> 개발 "> 개발"> <transactionManager type = "jdbc"/> <dataSource type = "pooled"> <property name = "driver"value = "oracle.jdbc.driver.oracledriver"/> <property name = "url"value = "jdbc : oracle : thin : @xx : 1521 : xx"= "username" "username" "ireport" "ireport" "ireporn" value="xxxx"/> </dataSource> </environment> </environments> <typeAliases> <typeAlias type="com.ice.stat.online.model.EventFlag" alias="EventFlag"/> </typeAliases> <mappers> <mapper resource="com/ice/stat/online/model/hbm/EventFlagMapper.xml"/> </mappers> </configuration>
把 변형 혜택 :
<? xml version = "1.0"alcoding = "utf-8"?> <! doctype configuration public "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd "> confialias> <typealias> <typealias. type = "com.ice.stat.online.model.eventflag"alias = "eventflag"/</indecealiases> <환경 = "Development"> <환경 ID = "Development"> <transactionManager type = "JDBC"/> <dataSource type = "properted"> <property name = "driver"value = "oracle.jdbc.driver.driver.driver.driver.driver.driver. 이름 = "url"value = "jdbc : oracle : thin : @xx : xx : 1521 : xx"/> <property name = "username"value = "ireport"/> <property name = "password"value = "xxxx"/</datasource> </환경> <mappers> <mapper Resource = "com/ice/stat/online/model/hbm/eventflagmapper.xml"/> </mappers> </configuration>