Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
这一文让你掌握JAVA_EE_MyBatis学习&开发流程,希望能够帮助你!!!。
猿灯塔 全文略长 希望对各位有帮助! 另外!文末有令你们心动的白嫖惊喜哦! 想要的朋友关注一下小编、转发文章并私聊我哦!
1、导入jar包
2、在src下新建全局配置文件(编写JDBC的四个变量)
<?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> <!-- default引用environment的id,当前所使用的环境 --> <environments default="default"> <!-- 声明可以使用的环境-可以写多个环境 --> <environment id="default"> <!-- 使用原生JDBC事务 --> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/ssm?useSSL=false & serverTimezone=UTC"/> <property name="username" value="root"/> <property name="password" value="qinyu888"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com\qdl\mapper\flowermapper.xml" /> </mappers> </configuration>
3、新建mapper结尾的包,在包下新建:实体类名+Mapper.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"> <!-- namespace:理解成实现类的全路径(包名+类名) --> <mapper namespace="a.b"> <!-- id:方法名 parameterType:定义参数类型 resultType:返回值类型 --> <select id="selAll" resultType="com.qdl.pojo.Flower"> select * from flower </select> </mapper>
4、测试结果
public static void main(String[] args) throws IOException { //使用工厂设计模式 InputStream is=Resources.getResourceAsStream("mybatis.xml"); SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is); //生产sqlsession SqlSession session=factory.openSession(); List<Flower> list=session.selectList("a.b.selAll"); for (Flower flower : list) { System.out.println(flower.toString()); } //关闭资源 session.close(); }
<transactionManager/> type 属性可取值 - JDBC,事务管理使用 JDBC 原生事务管理方式 - MANAGED 把事务管理转交给其他容器.原生 JDBC 事务setAutoMapping(false); <dataSouce/>type 属性 - POOLED 使用数据库连接池 - UNPOOLED 不使用数据库连接池,和直接使用 JDBC 一样 - JNDI :java 命名目录接口技术
概念:
状态:
目的:
实现 JDBC tomcat Pool 的步骤.
<?xml version="1.0" encoding="UTF-8"?> <Context> <Resource driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/ssm" username="root password="smallming" maxActive="50" maxIdle="20" name="test" auth="Container" maxWait="10000" type="javax.sql.DataSource" /> </Context>
List<Flower> list = session.selectList("a.b.selAll"); for (Flower flower : list) { System.out.println(flower.toString()); }
int count = session.selectOne("a.b.selById"); System.out.println(count);
Map<Object, Object> map = session.selectMap("a.b.c", "name123"); System.out.println(map);
<select id="selOne" resultType="com.qdl.pojo.People" parameterType="com.qdl.pojo.People"> <!-- 参数获取从0 开始 --> select * from people where id=#{id} </select>
#{} 获取参数的内容支持索引获取,param1 获取指定位置参数,并且 SQL 使用?占位符。 ${} 字符串拼接不使用?,默认找${内容}内容的 get/set 方法,如 果写数字,就是一个数字
<typeAliases> <typeAlias type="com.qdl.pojo.People" alias="peo"/> 可以直接在PeopleMapper.xml文件中使用peo代替整个包名和类名 <package name="com.qdl.pojo"/> 同上可以直接使用类名代替包名和类名 </typeAliases>
<insert id="ins" parameterType="People"> insert into people values(default,#{name},#{age}) </insert>
int index1 = session.insert("a.b.ins", p); if(index1>0){ System.out.println("成功"); }else{ System.out.println("失败"); }
<update id="upd" parameterType="People"> update people set name = #{name} where id = #{id} </update> ----------------------------------------------------------------------------- People peo = new People(); peo.setId(3); peo.setName("王五"); int index = session.update("a.b.upd", peo); if(index>0){ System.out.println("成功"); }else{ System.out.println("失败"); } session.commit();
<delete id="del" parameterType="int"> delete from people where id = #{0} </delete> ----------------------------------------------- int del = session.delete("a.b.del",3); if(del>0){ System.out.println("成功"); }else{ System.out.println("失败"); } session.commit();
我整理了一份文章相关知识点的资料总结 零基础到架构的都有哦! 如果需要获取到这个【核心知识点整理】文档的话帮忙转发一下然后再关注我私信回复“资料”得到免费获取方式吧! (资料的相关图片过多,就不一一放出来了,想要的朋友加关注帮小编点赞转发文章并私聊我呀!)
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。