基于Mybatis的增删改查
来源:互联网 发布:iphone铃声制作软件 编辑:程序博客网 时间:2024/06/05 16:06
基于Mybatis的增删改查
1、 依赖包: mybatis-3.4.5.jar,jdbc-connector.jar,
2、 项目结构
3、 例子文件:
// com.pojo.User.javapackage com.pojo;public class User { private int id; private String name; private String address; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public User() { } public User(String name, String address) { this.name = name; this.address = address; }}// com.dao.UserDao.javapackage com.dao;import com.pojo.User;public interface UserDao { public void addUser(User user); public void deleteUser(int userId); public void updateUser(User user); public User selectUserById(int userId); // 通过注解的方式,不需要配置mapper // @select("select * from user where id=#{id}") // public User selectUser(int id);}// com/dao/UserDaoMapper.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="com.dao.UserDao"> <select id="selectUserById" parameterType="int" resultType="User"> select * from user where user.id=#{id} </select> <insert id="addUser" parameterType="User" useGeneratedKeys="true" keyProperty="id"> insert into user (name, address) values(#{name}, #{address}) </insert> <update id="updateUser" parameterType="User"> update user set name=#{name}, address=#{address} where id=#{id} </update> <delete id="deleteUser" parameterType="int"> delete from user where id=#{id} </delete></mapper>// mybatis/mysql-jdbc.propertiesdriver=com.mysql.jdbc.Driveruser=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8username=rootpassword=123456// mybatis/mybatis-config.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> <typeAliases> <typeAlias alias="User" type="com.pojo.User"/> </typeAliases> <properties resource="mybatis/mysql-jdbc.properties"></properties> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <!-- <property name="driver" value="com.mysql.jdbc.Driver"/> --> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/dao/UserDaoMapper.xml"/> // 通过注解也需要配置mapper // <mapper class="com.dao.UserDao"/> </mappers></configuration>// com.junit.UserDaoTest.javapackage com.junit;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.BeforeClass;import org.junit.Test;import com.dao.UserDao;import com.pojo.User;public class UserDaoTest { static SqlSession session; @BeforeClass public static void setUpBeforeClass() throws Exception { Reader reader = Resources.getResourceAsReader("mybatis/mybatis-config.xml"); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader); session = factory.openSession(); reader.close(); } @Test public void addUser() { User user = new User(); user.setName("张三"); user.setAddress("江苏省南京市"); UserDao dao = session.getMapper(UserDao.class); // UserDao的实现类由mybatis自己内部生成 dao.addUser(user); session.commit(); session.close(); } @Test public void deleteUser() { UserDao dao = session.getMapper(UserDao.class); dao.deleteUser(1); session.commit(); session.close(); } @Test public void updateUser() { User user = new User("张三2", "江苏省南京市2"); UserDao dao = session.getMapper(UserDao.class); dao.updateUser(user); session.commit(); session.close(); } @Test public User selectUserById() { UserDao dao = session.getMapper(UserDao.class); User user = dao.selectUserById(1); session.close(); return user; }}// 表useruser 表结构id int auto_increasename char(4)address char(10)
4、 在插入中文字符的时候,出现数据库乱码
参考博客 mybatis操作mysql乱码
阅读全文
0 0
- 基于mybatis的增删改查
- Mybatis-基于注解的增删改查
- 基于Mybatis的增删改查
- mybatis的增删查改
- mybatis的增删查改
- Mybatis的增删改查
- mybatis的 增删改查
- mybatis的增删改查
- 基于Spring,Struts2,mybatis的增删改查
- MyBatis(三)增删改查--基于接口
- MyBatis(四)增删改查--基于注解
- Mybatis 增删改查
- mybatis增删改查
- mybatis增删改查
- mybatis 增删改查
- MyBatis增删改查
- mybatis--增删改查
- MyBatis增删改查
- C++ GUI Programming with Qt4 Second Edition 之 附录A.1 许可协议说明
- QT模态窗口的设置
- 经典SQL语句大全
- svn主干删除build.sh重新提交报错“处于冲突状态;请在新增之前标记冲突为已经解决”
- Time、 Date类及其子类
- 基于Mybatis的增删改查
- BootStrap(三)模态框
- 第三天上班学习内容
- unity shader中的矩阵变换知识
- 【Java学习笔记】实现简单的宠物商店管理
- 数据结构第七周项目一-建立链队算法库
- 洛谷P2899 [USACO08JAN]手机网络Cell Phone Network
- C++笔记——拷贝构造函数2
- 疯狂讲义随笔——使用二次曲线quadraticCurveTo()画花朵