盘盘Tomcat和Mybatis编写的简单逻辑

tomcat页面请求方式进行数据库操作,以及装转页面
主体是需要编写登录方式文件regex.html,展示regex页面,在此登录界面可以
增加一些其他功能的超链接,所谓的超链接后的页面,和编写登录功能的
方式基本相似
那我们就来说说如何编写登录界面,并且进行相关处理实行转页面
1.配置基本的文件,来实行连接数据库的操作
  我们为了高效,简单的使用,把相关文件写成三份:
  db.properties:写基本的配置所需的信息:driver,url,user,password
  Prop.java:主要写调用db.properties的方法,代码如下
    public void String getProperty(String name){
    Properties p=new Properties();
    p.load(Prop.class.getClassLoader().getResourceAsStream("db.properties"))
    return p.getProperty(name);
 在dao 层建立文件UserDao.java:建立连接数据库的方法getConn(),增删改查的方法
2.既然要对对象操作,那就需要建立对象类User.java:建立get/set方法等相关方法
3.当页面输入数据,那么我们就要对页面数据进行处理,因此,此时数据处理逻辑
就显得十分重要
数据的处理有controller层接受,并且调用相应的增删改查的方法,并且对结果是否
正确进行判断,并进行转页面。
这里会把方法写开,细分,每个主体负责一个方面的判断:首先我们需要在dao层建立一个
方法的接口,并继承。这里我用RegexDao和RegexDaoImpl 表示,此时dao层文件主要写的
增删查改的语句,然后调用UserDao文件中的方法,把sql语句的结果用Resultset接受判断
是否和数据库中的数据相同,然后根据需求写执行方法;
然后在service层进行接受dao层的结果,进行业务逻辑判断,没问题就执行RegexDaoImpl
中的方法,最后在controller层调用service层的方法,并运行,并根据结果返回不同界面

然后让我们从正常方向来盘点一下的方法的来历,首先我们可以看到在regex,html,
action后会接一个方法路径(这就像一个标志),这个和servlet中有相对应的一模一样的标志
在servlet中这个标志会导向controller层的某个方法具体文件,这时候可以看到
在controller层调用到这个方法,但是这个方法在写的呢,是在serveice,而service层
又继续调用dao层的具体增删查改的方法,这样执行对数据库的操作

总的来说:方法的传递由regex.html -->servlet-->controller-->service-->dao-->UserDao
Tomcat的编辑主体就是方法也就是功能的细致拆分,分为dao层,service层,以及controller层
然后在servlet根据的regex.html的标志进行决定调用哪个controller层的控制文件


MyBatis的简单使用逻辑顺序
相对而言,mybatis比Tomcat的逻辑相对清晰,文件量相对小很多,无需用到servlet方法进行控制
书写逻辑如下:
1.我们先来配置简单的数据库连接的部分,对于老套不变的db.properties文件不在赘述
那如何接受呢,难道还要搞两个文件的吗?唉,这时候mybatis的强大地方就体现出来了
建立xml文件,一般命名为mybatis-cfg.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>
 <properties resource="db.properties"/>
 <environments default="dev">
  <environment id="dev">
   <transactionManager type="jdbc"></transactionManager>
   <dataSource type="POOLED">
    <property name="driver" value="${driver}"/>
    <property name="url" value="${url}"/>
    <property name="username" value="${user}"/>
    <property name="password" value="${pwd}"/>
   </dataSource>
  </environment>
 </environments>
<mappers>
 <mapper resource="cn/kgc/dao/UserDao.xml"></mapper>
</mappers>
</configuration>
注明:environments中的enviroment环境可以配置很多,default表示默认执行的环境,与下id对应
所以environment可以在environemts配置多个,只需要改变default的值就成
此时这个文件是不是很像Tomcat里的UserDao.java文件,都有对数据库的连接,还有增删查改的方法
只不过在mybatis中他用mappers进行对应指向到一个专门写增删查改的文件:UserDao.xml
2.既然我们说到了UserDao.xml ,我们就看看UserDao里都写了什么
UserDao.xml使用mybatis的框架编写增删改查,并且用mapper和之前的mappers相对应,代码如下:
<?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="cn.kgc.dao.UserDao">
    <select id="getUserByName" parameterType="java.lang.String"
            resultType="cn.kgc.entity.User">
    select * from  person where username=#{name}
</select>
    <insert id="addUser" parameterType="string">
        insert into person(username,password)
        values (#{name},#{pwd})
    </insert>
    <update id="updateUser" parameterType="string">
        update person set password=#{pwd}
        where username=#{name}
    </update>
    <delete id="deleteUser" parameterType="string">
        delete from person where username=#{username}
    </delete>
<update id="createTable" parameterType="string">
    create table person(
    id_num int(4) primary key auto_increment,
    username varchar (10),
    password varchar (10)
    )
</update>
    <update id="dropTable" parameterType="string">
    drop table person;

</update>
</mapper>
注明:开头mybatis.xml和UserDao.xml文件十分相似,只需改几个单词即可
3.这时候不知不觉间,我们已经把大头搞定了,下面就是调用和建立测试类的问题了
首先建立接口,接口类编写和UserDao方法id相同的方法名。这里有个用法:
为了明确多参数时,系统不知道其中的对应关系,这是就需要我们用特定的标志来让系统明白
谁和谁是一对,用@Params(名称)和#{名称}进行对应,代码如下:
public interface UserDao {
    User getPasswordByName(String name);
    void addUser(@Param("name")String name,
                 @Param("pwd")String pwd);
    void updateUser(@Param("name")String name,
                    @Param("pwd")String pwd);
    void deleteUser(String name);
    void createTable();
    void dropTable();
}
4.然后在接口里按ctrl+shift+t创建测试类:Test
public class UserDaoTest {
    SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
    Reader reader = Resources.getResourceAsReader("mybatis.xml");
    SqlSessionFactory factory = builder.build(reader);
    SqlSession session= factory.openSession(true);
    public UserDaoTest() throws IOException {
    }
    @Test
    public void getPasswordByName() {
        session.getMapper(UserDao.class).getPasswordByName("静");
    }

注明:建立builder 方法和对象工厂,并获得权限是通用的,其他只需要在继承的Test中‘
写下基本相同代码即可:session.getMapper(UserDao.class).对应的方法
5.最后当然需要建立一个User类

SSM
我没怎么觉得他比mybatis的优势在哪,如果是当项目需要的功能庞大下,会减少很多代码量
只需要搭建好框架,就能很好的完成编写,但是SSM的方法逻辑层级和Tomcat有的一拼,
最终的方法有好几个文件的共同配合完成,嘎嘎找方法最终的呈现位置,下期再写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 IDEA 中不下载 TomcatMyBatis 也可以连接数据库并运行应用程序。以下是一些步骤: 1. 在 IDEA 中创建一个新的 Maven 项目。 2. 在 pom.xml 文件中添加 JDBC数据库驱动程序的依赖。例如,如果你使用的是 MySQL 数据库,则可以添加以下依赖: ```xml <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.23</version> </dependency> </dependencies> ``` 3. 创建一个 Java 类并添加以下代码来连接数据库: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DatabaseConnection { public static void main(String[] args) { String jdbcURL = "jdbc:mysql://localhost:3306/mydatabase?useSSL=false"; String username = "root"; String password = "password"; try (Connection connection = DriverManager.getConnection(jdbcURL, username, password)) { System.out.println("Database connected!"); } catch (SQLException e) { throw new IllegalStateException("Cannot connect the database!", e); } } } ``` 在上面的代码中,`jdbcURL` 是数据库的 URL,`username` 和 `password` 是数据库的用户名和密码。你需要根据你的数据库信息进行相应的修改。 4. 运行代码并查看控制台输出。如果一切正常,你会看到 "Database connected!" 的输出。 总之,你可以在 IDEA 中通过添加 JDBC数据库驱动程序的依赖,然后编写 Java 代码来连接数据库和运行应用程序。这样你就不必下载 TomcatMyBatis 在本地了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值