mybatis实现增删改查xml配置和后端Java编程完整教程
2018-01-14 22:02
447 查看
mybatis实现增删改查xml配置和后端编程教程
SqlMapConfig.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"> <!-- 使用jdbc事务管理 --> <transactionManager type="JDBC"/> <!-- 数据库连接池 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8"/> <property name="username" value="root"/> <property name="password" value="011220"/> </dataSource> </environment> </environments> <mappers> <mapper resource="sqlmap/user.xml"/> </mappers> </configuration>
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="test"> <!-- 根据用户id查询用户信息 --> <select id="findUserById" parameterType="int" resultType="cn.nwtxxb.mybatis.po.User"> select * from user where id = #{id} </select> <!-- 根据用户名查询用户信息 --> <select id="findUserByUserName" parameterType="java.lang.String" resultType="cn.nwtxxb.mybatis.po.User"> select * from user where username like '%${value}%' </select> <!-- 添加用户 --> <insert id="insertUser" parameterType="cn.nwtxxb.mybatis.po.User"> <!-- selectKey将主键返回 --> <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer"> select LAST_INSERT_ID() </selectKey> insert into user (username,birthday,sex,address) values (#{username},#{birthday},#{sex},#{address}) </insert> <!-- 删除用户 --> <delete id="deleteUserById" parameterType="int"> delete from user where id=#{id} </delete> </mapper>
User.java
package cn.nwtxxb.mybatis.po; import java.util.Date; public class User { private int id; private String username; private String sex; private Date birthday; private String address; 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 getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "User [id=" + id + ", username=" + username + ", sex=" + sex + ", birthday=" + birthday + ", address=" + address + "]"; } }
测试类代码:
package cn.nwtxxb.mybatis.test; import java.io.InputStream; import java.util.Date; import java.util.List; import org.apache.ibat e47d is.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.mybatis.po.User; public class Mybatis_first { //会话工厂 private SqlSessionFactory sqlSessionFactory; @Before public void createSqlSessionFactory() throws Exception{ //配置文件 String resource = "SqlMapConfig.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); //使用SqlSessionFactoryBuilder从xml配置文件中创建SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } //根据id查询用户信息 @Test public void testFindUserById(){ //数据库会话实例 SqlSession sqlSession = null; try { //创建数据库会话实例sqlSession sqlSession = sqlSessionFactory.openSession(); //查询单个记录,根据用户id查询用户信息 User user = sqlSession.selectOne("test.findUserById",10); //输出用户信息 System.out.println(user); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(sqlSession!=null){ sqlSession.close(); } } } //根据用户名查询用户信息 @Test public void testFindUserByUsername(){ //数据库会话实例 SqlSession sqlSession = null; try { //创建数据库会话实例sqlSession sqlSession = sqlSessionFactory.openSession(); //根据用户名中包含"张"的条件查询用户信息 List<User> list = sqlSession.selectList("test.findUserByUserName","张"); System.out.println(list.size()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(sqlSession!=null){ sqlSession.close(); } } } //添加用户信息 @Test public void testInsert(){ //数据库会话实例 SqlSession sqlSession = null; try { //创建数据库会话实例sqlSession sqlSession = sqlSessionFactory.openSession(); //添加用户信息 User user = new User(); user.setUsername("张磊"); user.setSex("1"); user.setAddress("襄城"); user.setBirthday(new Date()); sqlSession.insert("test.insertUser",user); //提交事务 sqlSession.commit(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(sqlSession!=null){ sqlSession.close(); } } } //删除用户 @Test public void testDelete(){ //数据库会话实例 SqlSession sqlSession = null; try { //创建数据库会话实例sqlSession sqlSession = sqlSessionFactory.openSession(); sqlSession.delete("test.deleteUserById",26); sqlSession.commit(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(sqlSession!=null){ sqlSession.close(); } } } }
login4j.properties
# Global logging configuration log4j.rootLogger=DEBUG,stdout # Console output... log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
相关文章推荐
- mybatis实战教程之开发环境搭建、以接口的方式编程、实现数据的增删改查
- mybatise基于xml配置的实现增删改查的一个完整项目下载
- 使用java XMLDecoder实现应用程序的动态配置
- Java_xml_Dom解析实现增删改查
- SpringMVC教程/实例(三):java SpringMVC之REST实现简单的增删改查CRUD
- 结合反射与 XML 实现 Java 编程的动态性
- 收集Android里xml配置属性在java代码里的实现
- 利用XML配置实现增删改查的.net快速开发架构 简单的构建信息管理系统架构
- java实现Spring在XML配置java类
- 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包含增删改查、JavaBean反射原理,附源码)
- java使用dom4j解析xml配置文件实现抽象工厂反射示例
- 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包含增删改查、JavaBean反射原理,附源码)
- MyBatis系列教程(三)--实现数据的增删改查(CRUD)
- mybatis实战教程(mybatis in action)之三:实现数据的增删改查
- 基于XML配置实现增删改查
- 结合反射与 XML 实现 Java 编程的动态性
- java网络编程--解析通过web.xml文件控制利用过滤器实现编码格式步骤
- 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包含增删改查、JavaBean反射原理,附源码)
- 利用XML配置实现增删改查的思路总结
- Java Persistence with MyBatis 3(中文版) 第三章 使用XML配置SQL映射器