mybatis完整增删改查入门实例
生活随笔
收集整理的這篇文章主要介紹了
mybatis完整增删改查入门实例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
mybatis完整增刪改查入門實例
編程步驟
①創建Java工程。
②導入jar包。
③創建sqlMapConfig.xml配置文件,這是mybatis的入口。
④創建數據庫,數據庫表user_c,插入測試記錄。
⑤創建PO對象user.java.
⑥創建映射文件user.xml.
⑦創建測試類。
mybatis的占位符
#{遵循Java變量名規范的名稱均可}導入核心jar包
mybatis-3.2.2.jar依賴jar包
asm-3.3.1.jar cglib-2.2.2.jar commons-logging-1.1.1.jar javassist-3.17.1-GA.jar log4j-1.2.17.jar slf4j-api-1.7.5.jar slf4j-log4j12-1.7.5.jar核心配置文件sqlMapConfig.xml
事務:JDBC/MANAGED
數據源:UNPOOLED/POOLED/JNDI
<?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.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/mybatisdb?characterEncoding=UTF-8"/><property name="username" value="root"/><property name="password" value="root"/></dataSource></environment></environments><mappers><mapper resource="cn/nwtxxb/mybatis/domain/User.xml"/></mappers> </configuration>創建數據庫
創建mybatisdb數據庫,創建User表。
sql語句:
create table USER_C(ID varchar(40) not null,NAME varchar(30),AGE int,ADDRESS varchar(200),primary key (ID));insert into `user_c`(`id`,`name`,`age`,`address`)values ('1','夏言',73,'桂州村'),('2','嚴嵩',87,'分宜縣城介橋村'),('3','徐階',80,'明松江府華亭縣'),('4','高拱',66,'河南省新鄭市高老莊村'),('5','張居正',58,'江陵');配置映射文件User.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- 命名空間用于查找 --> <mapper namespace="cn.nwtxxb.mybatis"><!-- 替代,語句中的內容,簡寫 --><sql id="cols">id,name,age,address </sql><!-- 查詢所有記錄 --><select id="listAll" resultType="cn.nwtxxb.domain.User">select <include refid="cols"/> from user_c </select><!-- 查詢一個用戶 --> <!-- 別名替代,簡寫--><select id="getOne" parameterType="string" resultType="aliasesUser">select <include refid="cols"/> from user_c where id= #{id} </select><!-- 插入一個用戶 --><insert id="insertOne" parameterType="cn.nwtxxb.domain.User" >insert into user_c( <include refid="cols"/> ) values (#{id},#{name},#{age},#{address}) </insert><!-- 更新一個用戶 --><insert id="updateOne" parameterType="cn.nwtxxb.domain.User" >update user_c set name=#{name},age=#{age},address=#{address} where id=#{id} </insert><!-- 刪除一個用戶 --><update id="deleteOne" parameterType="cn.nwtxxb.domain.User" >delete from user_c where id= #{id} </update> </mapper>PO對象User.java
package cn.nwtxxb.domain;public class User {private String id;private String name;private Integer age;private String address;public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}@Overridepublic String toString() {return "User [id=" + id + ", name=" + name + ", age=" + age + "]";}}測試類
package cn.nwtxxb.test;import java.io.IOException; import java.io.InputStream; import java.util.List; import java.util.UUID;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 cn.nwtxxb.domain.User;public class TestMybatis {SqlSessionFactory sqlSessionFactory;@Beforepublic void initFactory() throws IOException{String resource = "sqlMapConfig.xml";InputStream inputStream = Resources.getResourceAsStream(resource);sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);}@Testpublic void testListAll(){SqlSession session=sqlSessionFactory.openSession();List<User> users=session.selectList("cn.nwtxxb.mybatis.listAll");System.out.println(users.size());}@Testpublic void testQueryOne(){SqlSession session=sqlSessionFactory.openSession();User user=session.selectOne("cn.nwtxxb.mybatis.getOne", 1);System.out.println(user);}//事務需要程序員處理@Testpublic void testInsertOne(){User u=new User();u.setId(UUID.randomUUID().toString());u.setName("sbsbb");u.setAge(18);u.setAddress("china");SqlSession session=sqlSessionFactory.openSession();int count=session.insert("cn.nwtxxb.mybatis.insertOne", u);session.commit();System.out.println(count);}@Testpublic void testUpdateOne(){SqlSession session=sqlSessionFactory.openSession();User u=new User();//u=session.selectOne("cn.nwtxxb.mybatis.getOne", "2");u.setId("2");u.setName("clclclclclcfei");u.setAge(100);u.setAddress("USA");int count=session.update("cn.nwtxxb.mybatis.updateOne", u);session.commit();System.out.println(count);}@Testpublic void testDeleteOne(){SqlSession session=sqlSessionFactory.openSession();User u=new User();u.setId("2");int count=session.delete("cn.nwtxxb.mybatis.deleteOne", u);session.commit();System.out.println(count);}}總結
以上是生活随笔為你收集整理的mybatis完整增删改查入门实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jdbc,mybatis,hiberna
- 下一篇: MyBatis DAO层开发——Mapp