mybatis完整增删改查入门实例
2018-01-14 12:31
387 查看
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; pri 4000 vate 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; } @Override public 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; @Before public void initFactory() throws IOException { String resource = "sqlMapConfig.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } @Test public void testListAll() { SqlSession session=sqlSessionFactory.openSession(); List<User> users=session.selectList("cn.nwtxxb.mybatis.listAll"); System.out.println(users.size()); } @Test public void testQueryOne() { SqlSession session=sqlSessionFactory.openSession(); User user=session.selectOne("cn.nwtxxb.mybatis.getOne", 1); System.out.println(user); } //事务需要程序员处理 @Test public 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); } @Test public 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); } @Test public 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); } }
相关文章推荐
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- 19、SSM框架-Mybatis入门概述及第一个Mybatis实例实现增删改查(1)
- Mybatis入门教程之增删查实例
- SSM搭建-Mybatis入门概述及第一个Mybatis实例实现增删改查(16)
- Mybatis入门概述及第一个Mybatis实例实现增删改查
- SpringBoot+Mybatis 完整实例 增删查改
- Mybatis入门概述及第一个Mybatis实例实现增删改查
- Mybatis增删改查实例
- SpringBoot入门-17(springboot集成mybatis注解形式增删查改properties配置)
- MyBatis:快速入门实例 HelloWorld
- webpack+vue+vueRouter模块化构建完整项目实例详细步骤-入门篇
- MYBATIS- 入门实例
- mybatis入门——实例