ibatis学习基本例子
来源:互联网 发布:n86软件 编辑:程序博客网 时间:2024/05/29 01:55
一、项目目录结构图。
─src
├─action
│ UserAction.java
│
├─dao
│ UserDao.java
│
├─entity
│ User.java
│ userMapper.xml
│
├─properties
│ configuration.xml
│
├─service
├─servlet
│ UserServlet.java
│
└─test
MyBatisTest.java
二、相关jar包
mysql-connector-java-5.1.18-bin.jar
mybatis-3.0.5.jar
三、类和配置文件内容
1.相关实体类user:
package entity;/** * 登陆用户 * @wyh */public class User {public int userCode;public String userName;public String password;/**用户类型分为 0系统管理员,1医院人员,2表示患者类型*/public int userType;public String phone;public User() {}public User(String userName, String password, int userType, String phone) {this.userName = userName;this.password = password;this.userType = userType;this.phone = phone;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public int getUserCode() {return userCode;}public void setUserCode(int userCode) {this.userCode = userCode;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public int getUserType() {return userType;}public void setUserType(int userType) {this.userType = userType;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}}
2.dao层接口UserDao类
package dao;import java.util.List;import entity.User;/** * 注册用户操作类 */public interface UserDao {public void addUser(User user) throws Exception;public List<User> findAll() throws Exception;public void deleteUser(int userCode) throws Exception;/** * 判断用户名密码是否正确,如果正确,则返回该对象,不正确在返回null * @param userName * @param password * @return * @throws Exception */public User checkUser(String userName,String password)throws Exception;public User findByName(String name)throws Exception;public void modify(User user) throws Exception; }
3.相关连接数据库的配置文件
<?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决定加载哪种环境,包括数据源和事务管理器。--><environments default="development"><environment id="development"><!-- transactionManager 事物管理器 --><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://127.0.0.1:3306/ecrm"/><property name="username" value="root"/><property name="password" value="root123"/></dataSource></environment></environments><mappers> <!--userMapper.xml装载进来 同等于把“dao”的实现装载进来 --> <mapper resource="entity/userMapper.xml" /></mappers></configuration>
4.userMapper.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="dao.UserDao"><resultMap id="userList" type="entity.User"><id column="userCode" property="userCode" jdbcType="INTEGER" /><result property="password" column="password"></result><result property="phone" column="phone"></result><result property="userName" column="userName"></result><result property="userType" column="userType"jdbcType="INTEGER"></result></resultMap><!-- 返回list<user>列表 --><select id="findAll" resultMap="userList">select userCode,userName,password,userType,phone from register</select><!-- id必须和接口类的方法名一致,不然会出现Mapped Statements collection does not contain value for的错误 --><select id="findByName" parameterType="String"resultType="entity.User">select userName,password,userType,phone from register whereuserName = #{userName}</select><insert id="addUser" parameterType="entity.User">insert into register(userName,password,userType,phone) value(#{userName},#{password},#{userType},#{phone})</insert><update id="modify" parameterType="entity.User">update register<set><if test="userName != null">userName = #{userName},</if><if test="password != null">password = #{password},</if><if test="phone != null">phone = #{phone}</if></set>where userCode = #{userCode}</update><delete id="deleteUser" parameterType="int">delete from register where userCode = #{userCode}</delete></mapper>
5.测试类:MyBatisTest
package test;import java.io.IOException;import java.util.List;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 dao.UserDao;import entity.User;public class MyBatisTest {private static SqlSessionFactory getSessionFactory() {SqlSessionFactory sessionFactory = null;String resource = "properties/configuration.xml";try {sessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsReader(resource));} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return sessionFactory;}public static void main(String[] args) {SqlSession sqlSession = getSessionFactory().openSession();UserDao userDao = sqlSession.getMapper(UserDao.class);try {//User user = userDao.findByName("admin" );User user = new User();user.setUserCode(3);List<User> lists = userDao.findAll();user.setUserName("mei");user.setPassword("meide123");//userDao.addUser(user);//userDao.modifyPassword(user);userDao.deleteUser(5);sqlSession.commit();//System.out.println(lists.get(1).getPassword());System.out.println(user.getPassword());} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
0 0
- ibatis学习基本例子
- ibatIS学习笔记---Ibatis的基本使用方法
- ibatis学习笔记(一)例子
- ibatis例子
- iBATIS 例子
- IBATIS 例子
- iBatis 学习(1)基本配置和API
- ibatis学习笔记(二) 基本操作
- matlab学习基本绘图例子
- IBatis详细使用例子
- ibatis的入门例子
- iBatis详细使用例子
- ibatis连接oracle例子!
- iBatis入门例子[网摘]
- iBatis入门例子
- ibatis例子(一)
- ibatis 例子(二)
- 5.iBatis ResultMap例子
- 图像处理工程师的要求
- HDU1325 Is It A Tree? + POJ1308 Is It A Tree?【并查集】
- maven 配置
- emacs配置2
- hakerrank <Maximise Sum> set
- ibatis学习基本例子
- easyui-tree和thinkphp对于树节点的显示
- gcc编译错误
- cocos2dx吞噬
- mysql 用户管理和权限设置
- java实现从oracle数据库中读出table配置并逆向生成model类
- zoj 3647 Gao the Grid
- Java集合类的使用
- 我的劣根性——转变思维