基于xml配置的增删改查(代码有详细注解)

代码下载:

1.创建javaweb动态项目

2.导jar包

3.创建实体类(User)-domian

4.创建数据库

5.配置xml文件(mybatis-config)

  1. .复制粘贴mybatis.pdf中的内容
    在这里插入图片描述
  2. .进行xml catalog配置,让其能够有提示
    1.复制config那段,然后进行xml catalog
    2.选择web-inf下的config,然后public id
    3.粘贴复制的那一段
  3. 修改“development”为“mysqlDev”
  4. .修改driver中的value中为:mybatis中的jdbc的Driver.class
  5. 修改url中的value中为:jdbc:mysql://localhost:3306/文件名
  6. .修改账号密码
  7. 配置映射

6.创建接口类(UserDao)-dao

1.实现增删改查
--------->2.保存:public void save(User user)
--------->3.修改:public void update(User user)
--------->4.删除:public void deleteById(User user)
--------->5.查询:
------------------>通过编号查询一个用户对象信息:public User findById(int id)
------------------>查询所有对象信息:public List findAll();
------------------>通过姓名和性别来查询所有对象信息:public List findByNameAndGender();

7.创建xml文件(UserMapper)-dao

--------->1.复制粘贴mybatis.pdf中的内容
在这里插入图片描述
--------->2.进行xml catalog配置,让其能够有提示
------------------>1.复制mapper那段,然后进行xml catalog
------------------>2.选择web-inf下的mapper,然后url
------------------>3.粘贴复制的那一段
--------->3.修改namespace中的值为对应接口类的完整路径
--------->4.完成增删改查功能
------------------>1.其中id为对应接口类中的方法名称
------------------>2.其中parameterType:用来指定该抽象方法中参数的类型

8.编写测试类(mybatisTest)-test

--------->1.增加
复制粘贴pdf中的内容(sqlSessionFactory)-创建sqlSessionFactory对象
在这里插入图片描述
------------------->修改resource为mybatis-config.xml
--------->2.获取sqlSession对象
在这里插入图片描述
--------->3.通过sqlSession来获取一个接口的对应代理实现
在这里插入图片描述

--------->4.调用接口中的方法
在这里插入图片描述

--------->5.调用sqlSession中的提交和释放
在这里插入图片描述

9.创建工具类(SqlSessionFactoryUtils)-utils

Private static SqlSessionFactory sqlSessionFactory;
Private SqlSessionFactoryUtils(){}
Static {
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200809200223560.png)

}
Public static SqlSession getSqlSession(){
    Return sqlSessionFactory.openSession(); 
}

10.编写UserMapper.xml和测试类

--------->1.查询
根据id查询:

<select id=”findById” parameterType=””>
   select  * from tb where id=#{id}
</select>	

测试类:

@Test
Public void testFindById(){
SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSession();
UserDao userDao =  sqlSession.getMapper(UserDao.class);
User user = userDao.findById(1);
sqlSession.close();
}

查询所有信息:

<select id=”findAll” resultMap=”map”>
   Select * from tb
</select>
<resultMap type=”” id=”map”>
<id column=”表主键名” property=”实体类属性名”>
<result colunm=”” property=””>
</resultMap>

测试类:

@Test
Public void testFindById(){
SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSession();
UserDao userDao =  sqlSession.getMapper(UserDao.class);
List<User> list = userDao.findAll();
for(User user:list){
    System.out.println(user);
}
sqlSession.close();
}

根据姓名和性别查询:

<select id=”findByNameAndGender” resultType=””>
   select  * from tb where name like contat(%,#{name},%) and gender=#{sex}
</select>
注:
UserDao.java中对应的查询语句:
public List<User> findByNameAndGender(@Param("name")String name,@Param("sex")Boolean gender)	

测试类:

@Test
Public void testFindById(){
SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSession();
UserDao userDao =  sqlSession.getMapper(UserDao.class);
List<User> list = userDao.findByNameAndGender(“杨”,true);
for(User user:list){
    System.out.println(user);
}
sqlSession.close();
}

--------->2.更新

<update id=”update” parameterType=int” resultType=””>
    update tb set name=#{name},... where id=#{id}
</update>	

测试类:

@Test
Public void testUpDate(){
SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSession();
UserDao userDao =  sqlSession.getMapper(UserDao.class);
User user = userDao.findById(1);
user.setName(“韩”);
user.setMobile(12121212123);
userDao.update(user);
sqlSession.close();
}

--------->3.删除

<delete id=”deleteById parameterType=int>
   delete from tb where id=#{id}
</delete>
测试类:
@Test
Public void testUpDate(){
SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSession();
UserDao userDao =  sqlSession.getMapper(UserDao.class);
User user = userDao.deleteById(1);
sqlSession.close();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值