Jar file connection to mysql

im writing i database front end using eclipse
when i run the code it works fine and connects to the database
but when i make a jar file from the project it doesnt connect to mysql

i think i set it to use the class files not the
source codehuh?
I meant what have you done with the driver jars
i dont get an exception it just doesnt connectOr probably you don't know how to see it on a console...

Similar Messages

  • Jar file connection with mysql

    Hello everyone i ve a problem if you people could solve please help...
    When i compile my java code with mysql connection it works perfectly, but when i convert into jar file its not updating any values in the mysql database
    Can anyone tell me a solution.

    subhavenkatesh wrote:
    Can anyone tell me a solution.You have a bug. Find it. Fix it.

  • Jar file and remote mysql connect

    I have a jar file that i want anyone run it.The problem is that the code makes a connection to a database (mysql) to my computer.How anyone can connect to my databse in my computer from another pc without the user have to had the java \ mysql connect or hte mysql.Only the java.I try with a jnlp file and the jar file stored in my computer.I have a host name and i have open the port 3306 for mysql and allow remote connections to mysql.Can you help me;;

    ok i connect to database like this:
    try {
                   String userName = "username";
                   String password = "password";
                   String url = "jdbc:mysql://HOSTNAME/bankloans";
                   Class.forName("com.mysql.jdbc.Driver").newInstance();
                   conn = DriverManager.getConnection(url, userName, password);
              } catch (Exception e) {
                   System.out.prinln(e);
              }The JNPL file
    <?xml version="1.0" encoding="Windows-1251"?>
    <jnlp
      spec="1.0+"
      codebase="http://nasikas.ath.cx:8080/bankloans/"
      href="BankLoans.jnlp">
    <information>
    <title>Bank Loans Programme</title>
    <vendor>Softlets</vendor>
    <description>Bank Loans Programme</description>
    <offline-allowed/>
    </information>
    <security>
    <all-permissions/>
    </security>
    <resources>
    <j2se version="1.6+"/>
    <jar href="BankLoans.jar" main="true"/>
    <jar href="mysql-connector-java-5.1.0-bin.jar"/>
    </resources>
    <application-desc main-class="Go"/>
    </jnlp>What is wrong;;

  • How to include the mysql-connector in a simple .jar file

    Well I started up with java again. Just messing around. This project I'm making now is just plain simple, I have a program thats going to read a table in a database from a server I have here at home. It works fine if I do like this: java javafil to run the file, it reads from the database fine.
    But when I made a .jar file out of it using this command: jar cmf manifest.txt javafile.jar *.class
    It won't connect to the database. Or it doesn't print out the rows in the table. So I thought I have to include the mysql-connector with the .jar.
    manifest.txt
    Main-Class: javafile
    Now what is an easy way to do this?
    This program is also going to be run from a computer that might not have the mysql-connector installed on the computer. Like a friend of mine wants to connect to the database and read it.
    I've tried to google "mysql connector in a .jar file" but I get tons of informations about the mysql-connector.jar instead of what I'm looking for.
    Thanks,
    Torbj�rn Svae
    Edited by: LordSvae on 19.jun.2008 14:52

    LordSvae wrote:
    Yeah but the other computer might not have that connector file on their computer. So is there like I way I can use it when it is in the .jar file? Thats kinda what I wanted. You cannot include another JAR in a JAR file. You however can extract it and put the classes in your JAR. Verify the license agreement if it is allowed. Although this is considered as a bad practice (poor upgradebility and maintainability).
    If you don't want to use the -cp parameter, then use the class-path entry of the manifest.mf of your JAR. You can also write a batch file with the whole JAR -cp command in a single line and run the batch file instead.
    Pluss, even though I have the right classpath in the environment variables set, it doesn't work for me either. So I guess it doesn't load the connector when running the .jar file.The classpath environment variable has nothing to do with running JAR's. Forget about it and use the -cp or -classpath parameter.

  • Unable to install MySQL J Connector, its unable to launch jar file in OS mavericks 10.9.. please

    Hello all,
    i am referring following link to create connector for connection between mysql and sqldeveloper,
    while installing jar file for mysql J conncetor its telling unable to launch jar file.
    This is the latest OS and they have java preferences from utility folder and gave java control panel instead in system prefernces which is picking the runtime latest java version from oracle site.
    Please refer "http://reviews.cnet.com/8301-13727_7-57533880-263/java-preferences-missing-after -latest-os-x-java-update/" for the same.
    Please suggest ASAP.
    Thanks
    AbhiNU

    sorry i missed link in above descriptin
    http://mysql-dba-journey.blogspot.com/2009/05/installing-oracle-sql-developer-or acle.html

  • MySql jar file constructor

    Hello,
    I am developing web application using JSP and MySql. I am using netBeans 4.1 as IDE.
    To connect with database I have included jar file "mysql-connector-java-3.1.10-bin.jar" to Libraries folder of my project in netBeans. This jar file contains many classes, one which I want to use is com.mysql.jdbc.Blob.
    In my jsp file I want to call Blob(byte[]) constructor. For that I am doing :
    com.mysql.jdbc.Blob myBlob = new com.mysql.jdbc.Blob(dataBytes);
    Where dataBytes is an initialized array of bytes.
    When I compile my jsp file I get error "can not find symbol". It says it is not able to find constructor.
    So where I am making mistake. To resolve this problem which actions should I take??
    Jahnvi

    Hello,
    I am developing web application using JSP and MySql. I am using netBeans 4.1 as IDE.
    To connect with database I have included jar file "mysql-connector-java-3.1.10-bin.jar" to Libraries folder of my project in netBeans. This jar file contains many classes, one which I want to use is com.mysql.jdbc.Blob.
    In my jsp file I want to call Blob(byte[]) constructor. For that I am doing :
    com.mysql.jdbc.Blob myBlob = new com.mysql.jdbc.Blob(dataBytes);
    Where dataBytes is an initialized array of bytes.
    When I compile my jsp file I get error "can not find symbol". It says it is not able to find constructor.
    So where I am making mistake. To resolve this problem which actions should I take??
    Jahnvi

  • Can't parse xml file in jar file when  can't connect to web server

    My JNLP application throw ConnectException when trying to parse xml during web server offline.
    Steps,
    1. JNLP application has been launched once and all related jar and xml files are already downloaded to local cache.
    2. Then I close web server to test offline launch.I launch the JNLP application using shortcut with -offline parameter.
    3. However the JRE internal xml parser tries to connect to web server and report connection error as web server is down now.
    My concern is the file is already in the cache, why java still try to connect URL. This error happens in JRE 1.5, but it doesn't happen in JRE 1.6. It only happens when web server is down in JRE 1.5.
    I think it may be a bug of JRE, do any one can give me some hint about how to resolve?
    Thanks in advance!!
    I also moved the code piece to a simple web start example, following it the error and code pieces.
    Error Trace in Java console,
    ava.net.ConnectException: Connection refused: connect
         at java.net.PlainSocketImpl.socketConnect(Native Method)
         at java.net.PlainSocketImpl.doConnect(Unknown Source)
         at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
         at java.net.PlainSocketImpl.connect(Unknown Source)
         at java.net.Socket.connect(Unknown Source)
         at java.net.Socket.connect(Unknown Source)
         at sun.net.NetworkClient.doConnect(Unknown Source)
         at sun.net.www.http.HttpClient.openServer(Unknown Source)
         at sun.net.www.http.HttpClient.openServer(Unknown Source)
         at sun.net.www.http.HttpClient.<init>(Unknown Source)
         at sun.net.www.http.HttpClient.New(Unknown Source)
         at sun.net.www.http.HttpClient.New(Unknown Source)
         at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
         at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
         at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
         at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
         at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
         at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
         at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
         at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
         at sun.net.www.protocol.jar.JarURLConnection.getInputStream(Unknown Source)
         at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
         at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(Unknown Source)
         at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(Unknown Source)
         at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
         at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
         at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
         at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
         at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
         at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
         at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
         at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
         at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
         at EntXmlUtil.buildDocument(EntXmlUtil.java:57)
         at Notepad.testParseXML(Notepad.java:870)
         at Notepad.main(Notepad.java:153)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at com.sun.javaws.Launcher.executeApplication(Unknown Source)
         at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
         at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
         at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
         at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
         at com.sun.javaws.Launcher.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Notepad.java
    public void testParseXML() {
         URL xmlURL=Notepad.class.getClassLoader().getResource("xml/Login.xml");
         try {
                   org.w3c.dom.Document doc = EntXmlUtil.buildDocument(xmlURL);
                   System.out.println("Test"+doc);
              } catch (Exception e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
    EntXMLUtil.java
    private static DocumentBuilderFactory dbf = null;
         static {
              dbf = DocumentBuilderFactory.newInstance();
              dbf.setNamespaceAware(true);
              dbf.setValidating(true);
              dbf.setIgnoringComments(true);
              dbf.setIgnoringElementContentWhitespace(true);
    public static DocumentBuilderFactory getDocBuilderFactory() {
              return EntXmlUtil.dbf;
    public static Document buildDocument(URL url, String systemId) throws Exception {
              DocumentBuilder db;
              Document doc;
              InputStream is;
              String sysId = null;
              if(systemId == null)
                   sysId = url.toExternalForm();
              else
                   sysId = systemId;
              db = EntXmlUtil.getDocBuilderFactory().newDocumentBuilder();
              is = url.openStream();
              doc = db.parse(is, sysId);
              is.close();
              return doc;
         }

    I finally got a temperary work around for this issue, using JRE5 version lower than update 16(not include update 16).
    i found Sun modify the URL which returned by XXX.class.getClassLoader().getResource("xml/Test.xml,") after update 15, previous it is related with the cache path, like C:\Users\epenwei\AppData\LocalLow\Sun\Java\Deployment\cache\javaws\http\Dlocalhost\P80\DMEntriView\DMapp\AMNotepad.jar!/xml/Test.xml, but after it changes to network path, like http://localhost/Notepad/app/notepad.jar!/xml/Test.xml. However, the latter address doesn't work in Sun's own class com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity if offline.It tried to create new URL then connect to web server. So exception is thrown since web server is down.
    if (reader == null) {
    stream = xmlInputSource.getByteStream();
    if(stream != null && encoding != null)
    declaredEncoding = true;
    if (stream == null) {
    URL location = new URL(expandedSystemId);
    URLConnection connect = location.openConnection();
    if (connect instanceof HttpURLConnection) {
         setHttpProperties(connect,xmlInputSource);
    I am not sure whether it is a Java new bug since I only read the codes and didn't debug Sun code. But I am very curious that I have already specify <j2se version="1.5.0_12" href="http://java.sun.com/products/autodl/j2se" /> to specify update 12 for my jws application. And I also see the Java console display like following
    Java Web Start 1.5.0_18
    Using JRE version 1.5.0_12 Java HotSpot(TM) Client VM
    Why java still uses my latest jre lib to run my application?
    Edited by: wei000 on May 22, 2009 5:32 AM

  • Avoid connections.xml in JAR file

    I am using a "JAR Deployment Profile" in JDeveloper 9.0.3 to create a JAR file.
    How can I prevent that connections.xml becomes a part of the JAR file?
    tnx
    -Jan

    Seems to be a bit more complicated ;)
    I don't have "Connection Manager" library selected, but I do have "BC4J Tester". As this one also includes jdev-cm.jar, I still get connections.xml included in my JAR file.
    As long as the tester library is required during development - and even later, during the maintenance process ;), there should be another way to remove connections.xml from the deployment result...
    Maybe if we could specify the active configuration for all projects in the workspace at once...
    Thanks,
    Adrian

  • JAR file including database connection

    Hello,
    I made an application ( GUI ) which uses a MS acces Database.
    I used Netbeans, so a JAR file is automatically created.
    The only problem is that when I run the Jar file ,the application isn't able to find the connection with the database.
    Very annoying, but I do not know how to include it in my JAR file.
    Is it possible? Maybe not, because access is from windows, while JAR is independent of the running platform.
    If not, is it possible to make it run independently in another way, for example 'exe-file'.
    If yes, how?Any ideas...
    I've been looking for a couple of weeks, but never found a satisfying solution...
    I just want to be able to run the application without the need of netbeans.
    Thanks in advance.

    Thx for your quick replies!
    First of all , I will give you more details how I made connection with access. Beneath you find my class 'Database".
    Then, I made an object from that class and use it for example createStatements:
    {code}Statement stmt = db.getDbConnection().createStatement();{code} (db = object from class Database )
    {code}package database;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    public class Database {
    private Connection dbConnection;
    public Database(String file) {
    loadDriver();
    connectDatabase(file);
    private void loadDriver() {
    try
    Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
    catch (ClassNotFoundException err)
    System.out.println("Could not load driver ");
    System.exit(1);
    private void connectDatabase(String dbFile) {
    try
    String protocol ="jdbc";
    String subProtocol = "odbc";
    String subName ="Driver={Microsoft Access Driver (*.mdb)};DBQ= "+dbFile;
    String URL = protocol + ":" + subProtocol + ":" + subName;
         dbConnection = DriverManager.getConnection(URL);
    catch(SQLException error)
    System.err.println("Error connecting to database: " + error.toString());
    public void closeConnection() {
    try
    dbConnection.close();
    catch(SQLException error)
    System.err.println("Cannot disconnect database");
    public Connection getDbConnection(){
    return dbConnection;
    }{code}
    You said that the resources have to exist when you run it...Okay. In netbeans that's easy because it's part of java language and netbeans loads everything he needs... But how can I realise it to run without netbeans?
    Btw, it's no problem that the application is only runnable on windows. I was just wondering...
    If you need some more information, just ask. It's not always easy for me to understand what information a specialist like you needs ;-)

  • Please help, cannot connect to Access database with a jar file

    Hi, i created a jar file from my java project, using eclipse.
    When i try open the jar through command prompt, the following error is given:
    java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Could not find
    file '(unknown)'.
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at Methods.con(Methods.java:15)
    at LoginScreen.getCmboLogins(LoginScreen.java:80)
    at LoginScreen.getJContentPane(LoginScreen.java:65)
    at LoginScreen.initialize(LoginScreen.java:46)
    at LoginScreen.<init>(LoginScreen.java:31)
    at DataUse.main(DataUse.java:25)
    No Connection to dataBASE
    The program runs fine within eclipse and the database is bundled in the jar.

    rohangr wrote:
    The program runs fine within eclipse Because the database isn't in the jar.
    ...and the database is bundled in the jar.That isn't going to work.
    The MS ODBC driver (which has absolutely nothing to do with java) expects to find the MS Access file in the windows file system.
    And the contents of the jar file does not fit into that requirement.

  • Where do I put the .jar file for the database connection?

    I am trying to connect to an Oracle 11g database. I see under the coldfusion settings summary that the java version is 1.7.0_55. So I downloaded the ojdbc7.jar file from Abode.com. Now the question is where do I put it so that coldfusion can access it?
    Of course I need to set up the database connection (which I still don't have the connection string for), but I still need to know where to put the ojdbc.jar file.
    Thanks.

    jasonwryan wrote:What does the man page say?
           The  program  has builtin defaults and temperature thresholds but users
           can   specify   their   own    settings    in    configuration    files
           /etc/default/i8kmon  and  ~/.i8kmon.   The daemon defines 4 states with
           different fan speeds ({0 0}, {1 0}, {1 1}, {2 2}) and  for  each  state
           are  defined  the temperature thresholds which cause the switching to a
           higher or lower  state.  Furthermore  each  state  can  have  different
           thresholds  for operation on ac power or battery.  For example the fol‐
           lowing configuration:
    I've put the following file in /etc/default/i8kmon:
    # Run as daemon, override with --daemon option
    set config(daemon) 0
    # Automatic fan control, override with --auto option
    set config(auto) 1
    # Report status on stdout, override with --verbose option
    set config(verbose) 1
    # Status check timeout (seconds), override with --timeout option
    set config(timeout) 1
    # Temperature thresholds: {fan_speeds low_ac high_ac low_batt high_batt}
    set config(0) {{-1 0} -1 50 -1 50
    set config(1) {{-1 1} 50 70 50 70}
    set config(3) {{-1 2} 70 128 70 128}
    But it doesn't seem to do anything. I'm running a Dell Inspiron 3521 with no dedicated GPU, so it only has one fan. I was somehow able to get i8kmon to work in Ubuntu by putting this config in /etc/i8kmon, but can't get it to work in Arch. Putting it in /etc/i8kmon and /etc/default/i8kmon doesn't do anything.

  • How to download connector Quickstart distribution .jar file to connect H2 databse

    Hi,
    I am using CQ5.4 version and i want to connect H2 Database with my cq5 instance. From the tutorial i got to know that i need to download connector Quickstart distribution .jar file.
    But i am not able to figure out where i can get this file.
    I have already  downloaded H2 databse.
    Plz help  me as i need to complete this task as soon as possible
    Thanks in Advance....

    If you are refering to JDBC connector [1] I would recommend not to use it.  The connector has been in beta mode and we are in the process of correcting/removing the page for the JDBC connector.   Instead  use the respective JDBC driver and convert it into an OSGI bundle which can then be referenced in your custom JDBC client code to perform all DB activities. More details refer [2].
    [1]   http://dev.day.com/docs/en/crx/connectors/jdbc/current.html
    [2]   http://dev.day.com/content/kb/home/cq5/Development/HowToConfigureSlingDatasource.html

  • Unable to extract connector/j jar file(mysql)

    im have having a problem on extracting mysql's connector/j jar file on j2sdk1.4.0.
    and may i know does sun allows windows xp users to install various kind of versions of j2sdk? for example, install j2sdk1.4.0 into c:\j2sdk1.4.0, and j2sdk1.4.2_05 into c:\j2sdk1.4.2_05?
    what to do using j2sdk1.4.0 for connector/j?
    i would like to know manual steps instead if automatic step provided by netbean.
    i wish this problem could be solved as sonn as possible

    im have having a problem on extracting mysql's
    connector/j jar file on j2sdk1.4.0.I'm not sure what this means. The MySQL connector JAR isn't part of any JDK. You've got to download it and put it in your CLASSPATH.
    >
    and may i know does sun allows windows xp users to
    install various kind of versions of j2sdk? for
    example, install j2sdk1.4.0 into c:\j2sdk1.4.0, and
    j2sdk1.4.2_05 into c:\j2sdk1.4.2_05?
    what to do using j2sdk1.4.0 for connector/j?
    i would like to know manual steps instead if
    automatic step provided by netbean.
    i wish this problem could be solved as sonn as
    possible

  • Classes12.jar with connection.class file

    Hi All,
    I want to download classes12.jar file which contains connection.class which is used for datasoruce.Can you please get me the download URL for the same.Please help me out as i got classes12.jar file but it doesnt contain the connection.class,if it doesnt have the connection.class it gives me a JMS:112 error which says invalid connection.
    Do please help me out in getting the classes12.jar file link for download.
    Thnaks in advance.
    Regards,
    Kalyan

    What is the Oracle database version? What is the JDK version? Various versions of classes12.jar are available.
    Please download classes12.jar from
    http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html

  • JAR file and db connection

    I just discovered that you can run your application in Windows environment by double clicking the .jar file. You learn something new every day. Anyhoo, the problem is that I cannot connect to my db server. But when I run the application in NetBeans everything goes smoothly. What do I need to fix? Thanks........
    Z

    Never mind..........we just got it. All we did was
    copy the 3 jar files into jre\lib\ext\ folder and it
    worked. We don't know why but it worked. ThanksDouble clicking on the jar means that it is an executable jar.
    Executable jars do not use the normal class path. You normally jar up the additionally jars into the jar itself. Then you add a entry to the manifest file that 'sets' the classpath to them (in the jar.) You would have to search the forums for that exact line.
    The 'ext' directory is used by the JVM as an addition to the class path. Basically the JVM class path is normally constructed with the following.
    - Various bootpath options (see the java docs for more on this.)
    - The env var or the classpath command line option.
    - The java api
    - The jars or exploded trees in the ext directory.
    Some people would suggest that you not use the ext dir as you are doing. Their contention is that it is intended basically for the VM use only (for 'standard' additions.) Another downside is that every VM application is now accessing those jars and that will make using different versions of a jar impossible. And you might forget that the jars are there and thus your delivered application won't work.

Maybe you are looking for

  • PDF Forms

    Hello, I have forms that were created in LifeCycle Designer and then saved as a PDF. We have the forms fully functional with an email submit button and a printing option. The issue is, sometimes some of the forms that are submitted by e-mail do not m

  • Agent Inbox - how to change SLA colors (traffic lights) in the Web UI

    In agent inbox, component: ICCMP_INBOX view: InboxResultView and view: InboxItems There is a field : overdue This field displays red or green based on the due date of the inbox items. I want to change this color based on my own custom logic. Where do

  • My Safari program will not shut down so I cannot shut down my MacOSX

    My Safari program will not shut down (shut down line is greyed out.)  How can I shut it down , so that I can shut down the Mac OSX?

  • Autocomplete: working funny in flash player 10

    Hi, does anyone have any issue using the flex autocomplete component running it in flash player 10. It works great when i compile it for player 9 but acts really weird with 10. I am attaching the swf to show you whats happening. Thanks, Samina

  • Using Java to Retrieve Images from Oracle

    OracleResultSet.getCustomDatum method is deprecated. I was using this method to retrieve an ORDImage from an Oracle 9i database. What are developers using instead of getCustomDatum to retrieve images from the database. Thanks for all help in this mat