鞋行业的网站建设,模板之家怎么免费下载,古典家具公司网站模板,招投标信息查询平台映射文件内的增删查改
准备工作 准备一张数据表#xff0c;用于进行数据库的相关操作。新建maven工程#xff0c; 导入mysql-connector-java和mybatis依赖。新建一个实体类#xff0c;类的字段要和数据表的数据对应编写接口编写mybatis主配置文件 public class User {priva…映射文件内的增删查改
准备工作 准备一张数据表用于进行数据库的相关操作。新建maven工程 导入mysql-connector-java和mybatis依赖。新建一个实体类类的字段要和数据表的数据对应编写接口编写mybatis主配置文件 public class User {private String name;private String gender;private int age;private String address;private String email;private String qq;public String getName() {return name;}public void setName(String name) {this.name name;}public String getGender() {return gender;}public void setGender(String gender) {this.gender gender;}public int getAge() {return age;}public void setAge(int age) {this.age age;}public String getAddress() {return address;}public void setAddress(String address) {this.address address;}public String getEmail() {return email;}public void setEmail(String email) {this.email email;}public String getQq() {return qq;}public void setQq(String qq) {this.qq qq;}
}
?xml version1.0 encodingUTF-8 ?
!DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd
configurationenvironments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC/transactionManagerdataSource typePOOLEDproperty namedriver valuecom.mysql.jdbc.Driver/property nameurl valuejdbc:mysql://localhost:3306/test?useSSLfalse/property nameusername valueroot/property namepassword value123456//dataSource/environment/environments
/configuration public class Main {public static void main(String[] args) throws IOException {InputStream resourceAsStream Resources.getResourceAsStream(mybatis.xml);SqlSession sqlSession new SqlSessionFactoryBuilder().build(resourceAsStream).openSession();}
} 后续只需在接口内添加相关方法编写mapper映射文件进行测试后面仅展示mapper映射文件。
新增数据 插入数据的方法sqlSession.insert(mapper映射文件内insert标签的id,传入的参数)并且例如增删改的方法需要调用commit方法进行提交。 编写sql语句时如果输入的参数为java对象类型#{}表示接收java对象的属性名 insert idadd parameterTypecom.cc.UserMapper
insert into tb_userinfo (name,gender,age,address,email,qq) values (#{name},#{gender},#{age},#{address},#{email},#{qq});
/insert 这里将user对象作为参数传入。 InputStream resourceAsStream Resources.getResourceAsStream(mybatis.xml);SqlSession sqlSession new SqlSessionFactoryBuilder().build(resourceAsStream).openSession();//插入数据User user new User(张四丰,女,25,宁夏,1212qq.com,987654);sqlSession.insert(add,user);sqlSession.commit();
删除数据 根据姓名删除数据调用sqlSession.delete方法同时传入一个字符串。 sqlSession.delete(delete,张大2); delete iddelete parameterTypeStringdelete from tb_userinfo where name #{na}/delete
修改数据 当要传入多个参数时除了使用类将数据封装起来还能使用map集合作为参数传入注意map的key值要和#{}内的值一致。 update idupdate parameterTypemapupdate tb_userinfo set gender#{gender},address#{address} where name#{nam}/update MapString,String map new HashMap();map.put(gender,女);map.put(nam,李思思);map.put(address,四川);sqlSession.update(update,map);查询数据
查询所有 select idseleteAll resultTypecom.cc.Userselect * from tb_userinfo;/select ListUser users sqlSession.selectList(seleteAll);for(User u : users){System.out.print(u.getName());System.out.println(u.getAge());}
条件查询 select idseleteByName resultTypecom.cc.User parameterTypeStringselect * from tb_userinfo where name #{name}/select User user sqlSession.selectOne(seleteByName, 李思思);System.out.println(user.getGender());System.out.println(user.getAddress());
模糊查询 select idseleteLike resultTypecom.cc.User parameterTypeStringselect * from tb_userinfo where name like #{name}/select User o sqlSession.selectOne(seleteLike, %大%);System.out.println(o.getName());
映射文件的相关补充
#{}与${} #{}与${}都能够接收输入的参数区别是#{}表示一个占位符号${}表示一个拼接符号这样会导致sql注入因此不建议使用${} parameterType和resultType parameterType指定输入参数类型mybatis通过ognl从输入对象中获取参数值拼接在sql中。 resultType指定输出结果类型mybatis将sql查询结果的一行记录数据映射为resultType指定类型的对象。